<SEC-DOCUMENT>0001104659-24-052464.txt : 20240426
<SEC-HEADER>0001104659-24-052464.hdr.sgml : 20240426
<ACCEPTANCE-DATETIME>20240426080649
ACCESSION NUMBER:		0001104659-24-052464
CONFORMED SUBMISSION TYPE:	20-F
PUBLIC DOCUMENT COUNT:		148
CONFORMED PERIOD OF REPORT:	20231231
FILED AS OF DATE:		20240426
DATE AS OF CHANGE:		20240426

FILER:

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

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

	BUSINESS ADDRESS:	
		STREET 1:		545 SPEEDVALE AVENUE WEST
		CITY:			GUELPH
		STATE:			A6
		ZIP:			N1K 1E6
		BUSINESS PHONE:		416-365-1110

	MAIL ADDRESS:	
		STREET 1:		66 WELLINGTON STREET WEST
		STREET 2:		SUITE 4100
		CITY:			TORONTO
		STATE:			A6
		ZIP:			M5K 1B7
</SEC-HEADER>
<DOCUMENT>
<TYPE>20-F
<SEQUENCE>1
<FILENAME>csiq-20231231x20f.htm
<DESCRIPTION>FORM 20-F
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<!-- iXBRL document created with: Toppan Merrill Bridge iXBRL 10.6.2.5 -->
<!-- Based on: iXBRL 1.1 -->
<!-- Created on: 4/26/2024 11:04:12 AM -->
<!-- iXBRL Library version: 1.0.8826.24652 -->
<!-- iXBRL Service Job ID: 6cce2c9c-0a22-454c-952f-4dc1a4050bb0 -->
<html xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:csiq="http://www.canadiansolar.com/20231231" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:srt="http://fasb.org/srt/2023" 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/2023" 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_pyXxL-9HaU-hry2h_xpvLQ" xs:nil="true" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" name="us-gaap:CommitmentsAndContingencies" id="Hidden_z04TtT7HGUahuJbbIq1uag"/><ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" xs:nil="true" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" name="us-gaap:CommitmentsAndContingencies" id="Hidden_tCDJ_2ibJkap3UAdCFjk0w"/><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:EntityCentralIndexKey" id="Tc_eF_acMt8_Em6kv9dpYdtiw_2_1">0001375877</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:DocumentFiscalYearFocus" id="Tc__zx6RMIriUqzDtEHH4gYSw_4_1">2023</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:DocumentFiscalPeriodFocus" id="Tc_MtPpsdW430G-klzGekg11A_5_1">FY</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:AmendmentFlag" id="Tc_IyYNdaM2KEOBUgtPSeyRKw_6_1">false</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" name="us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" id="Hidden_lrgOrZsKjkGZpUABHgLYqQ">http://fasb.org/us-gaap/2023#PropertyPlantAndEquipmentNet</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" name="us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="Hidden_bNE9mbmziEWz66OVLgxeLg">http://fasb.org/us-gaap/2023#OtherLiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" name="us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="Hidden_oPoNohhCRUmSHPBwyJzjpQ">http://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" name="us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration" id="Hidden_TXRp51lhikqZqgbw_AExIA">http://fasb.org/srt/2023#AffiliatedEntityMember</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" name="us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration" id="Hidden_7WVts2Tc1k6W_UBIBlMfSg">http://fasb.org/srt/2023#AffiliatedEntityMember</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" name="us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList" id="Hidden_Z8tRSHWEpE2cLLy0PG26fg">http://fasb.org/us-gaap/2023#RevenueFromContractWithCustomerIncludingAssessedTax</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" name="us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList" id="Hidden_v_yBeObO3Uatwy-ISSdhRQ">http://fasb.org/us-gaap/2023#RevenueFromContractWithCustomerIncludingAssessedTax</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList" id="Hidden_PLl2nmSvo0KiC2x6Zr2xsw">http://fasb.org/us-gaap/2023#RevenueFromContractWithCustomerIncludingAssessedTax</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" name="us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" id="Hidden_ZX4ffP3Aek6tCHKygIAEPQ">http://fasb.org/us-gaap/2023#PropertyPlantAndEquipmentNet</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" name="us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="Hidden_MNxLZp-y0EmbJ8LQI9L-mA">http://fasb.org/us-gaap/2023#OtherLiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" name="us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="Hidden_zwemnGSU9Umlx71I-WTdxg">http://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" name="us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" id="Hidden_DV0EnETE_k6B9hwOD-MLjw">http://fasb.org/us-gaap/2023#OtherLiabilitiesCurrent</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" name="us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" id="Hidden_YdZatWwHLE-nl8BHqrfpoA">http://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" name="us-gaap:FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList" id="Hidden_aFecZba9I0qz7Gedq7yDLw">http://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_cCDDc5ROAUyqavdO9PgTvg" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Hidden__6LnPpsMv0awmaiJc_xCEA">P1Y</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_uChkNmkoRUCt-TY64DPlsQ" decimals="2" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" id="Hidden_tDQJVYWuy0eLN4cJ3cx3jQ">0.25</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" id="Hidden_j6emgWMhXkGAKgzStNt_bg">64506055</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="INF" name="us-gaap:CommonStockSharesOutstanding" id="Hidden_Dj7PV6Ocn06g-KwcQI91sg">66158741</ix:nonFraction></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="csiq-20231231.xsd"/></ix:references><ix:resources><xbrli:context id="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_vmuSvB5cYUKMpf7m3p6Eew"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-09</xbrli:startDate><xbrli:endDate>2023-06-09</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_LbqH5nCk-E-Otk80LW4-Xg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-09</xbrli:startDate><xbrli:endDate>2023-06-09</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_K3_WzrHfDEaf32moCC3evw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-09</xbrli:startDate><xbrli:endDate>2023-06-09</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_jd9ujE6WO0GFzXPfV9C9cQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-09</xbrli:startDate><xbrli:endDate>2023-06-09</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_EurWMbbB_UW9LVBtT8eOOw"><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><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csiq:CsiSolarEmployeeIncentivePlan2020Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_HllQR2xnjES_oGeFb44_fQ"><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="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_x61QiTS7vk2yC8fjTWcApg"><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_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_tqWT3kkae06ylR74JxfKoQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-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_90ooRo4vKUaaEtqKMW6dYw"><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_StatementEquityComponentsAxis_us-gaap_CommonStockMember_yyIOdaaHoU23g3A59pxXBQ"><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_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Pb6OP8H5bkqvAcilbkhrrA"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_XQKASrd7u0aWNhiNED17aQ"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_JuwlZIZFPUKUOIUgjl171w"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bwp36UcVtkus0aJ_NS0NlQ"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CkgZWnvhgkCK2gFFEmRvNQ"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_7jZlWkmE00yrQkmbH1b0tw"><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_EsaJlPCRokKRAoKmGxvrkg"><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_ukS6uCYet0mQ2Qi5QNgu8Q"><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_y1RBQQ7YeUqbRymv8TueQw"><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_rRBu-kgVt0WY21K0oo2jVw"><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_3m-v0EagwUWVRnv2zzDPMQ"><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_6xsT4e2Gjkab78BvHlOucw"><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_XTi0TejTTkCB-UXxqTe20A"><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_jkGkLsMewE2g2QVZd_2ugA"><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_8AM4oM-bB0SF7uXmH2YABw"><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_D71GxTdfmEqVsDXYlZTY4Q"><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_jqv0NgGt9UGqU-i1oQGWHg"><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_U7ThNtRpQEiR9XT0PeQeAA"><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_N8sNhAoK9EWuCgXEeFOGZQ"><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_gMrXdq2OkUa6Z0VHvlQ8Dw"><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="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_4D65mKuedUGq1XiTiiNd8Q"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_jwSkttdbKUCNaJnLxajJnw"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_30_2010_KL-w7vCxKk-QXlF6lReWvA"><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_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_7bSnifeenU-mwMT0cANtCw"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_PH1QL8FbtU-0E4Jm8ntwfw"><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>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_IfBrvPrh40aCF3r7Zhw4Pw"><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_Q9hHxvoq9kWadEGhK3tYvw"><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_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_uChkNmkoRUCt-TY64DPlsQ"><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>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_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_ovWWKaB1akSfnx5UIhANMg"><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>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_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_OqVIfmcRQE-jZijqUjFcOA"><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>2021-01-01</xbrli:startDate><xbrli:endDate>2021-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_cCDDc5ROAUyqavdO9PgTvg"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SJWO4EB44EidW8j-k05YaQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2hzThO8Z50ufaUB8VvdJXg"><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><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zKatWNF4TU6yRSoTij1Shg"><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><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_ShippingAndHandlingMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2WKKJyW2jU2pdZDSDXQ1gA"><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><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_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_wlyQsVEsQUahttUFFxoVMQ"><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:RecurrentEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_qv1igzzfT0iqsNUYxbs30A"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_-1crGEqDbkSMds7G5qUdqg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_PanatiHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_28_z-FccK0K2_uOZ8hLwVw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:PanatiHoldingS.a.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_MarangatuHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_frZutGOLJ0iRt4hDmkhDAg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:MarangatuHoldingS.aMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember__zkkgeZELECYQdvuU-uBlg"><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:RecurrentEnergySegmentMember</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_DFjbF0wGBEag26Rbcr_80g"><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_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_SalgueiroSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_QwmII3n2P024n2JLrEGA4A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:SalgueiroSolarHoldingS.aMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ycc9qZBQk0mafxcjI8hU4Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_AFbAl9IQYEeLM28PaAfytg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:FranciscoSaSolarHoldingS.a.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_RecurrentEnergySegmentMember_dP4rfcSfoUG85br_VyTGsw"><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:RecurrentEnergySegmentMember</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_93jJV8QIm0u6Bd9Mt4wS9A"><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_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_SalgueiroSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_B9Zc3M7B60S0kM-UsATnZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:SalgueiroSolarHoldingS.aMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_SE9CmfpHo0WMCROYzov2yg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_JaibaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_002Ji-v5gUy1Rgc2FkDeWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:JaibaSolarHoldingS.a.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_qw83573DS0-MAqArJ_P8SQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:FranciscoSaSolarHoldingS.a.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_UfbXzRo8LEKgLD_nlx2rzQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:FranciscoSaIRenewableEnergyS.a.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_vyiWx8d08kmvKMKZ3IURJw"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_BIgWZIvk_EWmFWQcMv_AFQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerAndBatteryEnergyStorageAssetSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_XFVXdi_3pkW1xBUrDjNZmQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_gVl4LAJ28EKrWm3lcp4Dnw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_WkKiaqog40anyDNUyUl1Fg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_PowerServicesOMAndAssetManagementMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_VZjE-fOnYkqOUwdn0gPIcA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:PowerServicesOMAndAssetManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_EpcAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_C1DCxoz75U64bVlg0z5AFw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:EpcAndOthersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember__2ftJEhjdEGGk0vLStg30Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ElectricityRevenueFromOperatingPortfolioAndOthersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_GZqHbDlNqkehDq0GE22Rng"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_SEuEAcWLsEKB8jGq-5tJRQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_E8layZZEjE2ocScRDUb0AQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BatteryStorageSolutionsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_srt_EuropeMember_spKQL1iTMECH6fEZeuouFg"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_srt_AsiaMember_Ccd8TWlO60S7ueYSQuy9QQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_dpHY6AS6s0GB1bHfOgIJMA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_IMg1ieqZE0atwa5QfNGREQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember__9LYC2-Gd0elIPGfeP0tUw"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_AmericaMember_sttDZT8y_EiHw1Lkdcg47g"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_ZA_pCUEXWyP2EmHsrmfjNS-kQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_VN_tnq-hmv-CkitDsfb8xrNAg"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_US_qfrlnaTarUCfpMxND8VexQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_TW_kKIBpuIbgUitgiQaKtNZ1A"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_TH_GcDXfmDCgU2V4R6AxgKozQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_RO_EY4wo3_jQkyLKAc1mdxV8w"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_PR_3SQ4IyZkP0itFPZ7hGnZyg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PR</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_PK_M3tvfJNPNEarP-zaO3oNBg"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_PH_8rvjGJxJbkOpmiSIMdSCcg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NO_lQ_jJi3Sl0eWV8X_yFuQ1A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NO</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NL_Qn1hIdsiCUW0oFMkdFGjiw"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_MX_NMFkoBhq_kuK3rUhEZRC6A"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_JP_VyDig-qPrkSZZIim5XSpYw"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_IT_eExYyvqu1Ey0MxnyGIYIlg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IT</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_IN_NKH-1DjtIEuAt8079BI5yg"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_IE_lPg-rjriN0msWFaCk5ClVQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_HK_I0z4OJr4h0mXkSn-N26yig"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_GB_j_VILhWwQUaMhqhw0hASMw"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_FR_5DxMQd7MZ023Nz0AIjXdHw"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_ES_wo_w_2-o_0iNc2yc3wf-5w"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_DE_KvAAFG4KjE62jpekJ-Gt7Q"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CZ_HsXXYkgwK0WT-imW5l6tjQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CN_oymL3asBO0-tC7Fm15OWTg"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CL_g6N-dWvbKUCOV8prfrDqyw"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CA_bimSLCwh5UaGvlIeZSM4XA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_BR_zSxmWOrz10GjvTsPdwCi3g"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_AU_OimQUMpSWEqzebVMzQ0qaA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_AE_ecuAg028BUeD9-6R85_nOg"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-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_Ym5lZMi_q0mm5FmmLodikA"><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_SolarPowerAndBatteryEnergyStorageAssetSalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_sU9D8aDM602j9siHFIf_Rw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerAndBatteryEnergyStorageAssetSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_kRUt5wL61k-uwt-4XUMJ0A"><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_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_CkkAzpM5yUC69fxG3DytTQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_0nT8QCQFS0usQ-YdxSGbKA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_PowerServicesOMAndAssetManagementMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_ulwMvQZk80KKtSJXZClliQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:PowerServicesOMAndAssetManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_EpcAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_lN5VIncdzEqSBCDxwyttTw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:EpcAndOthersMember</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_ElectricityRevenueFromOperatingPortfolioAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_FwgB321FLU6QOo0sBkHIfQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ElectricityRevenueFromOperatingPortfolioAndOthersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_DBX-eee19Ua5lfH9qGltrg"><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_1AmprYuMYUyxAaEgAQ8Vrw"><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_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_iX8uk5eLGE2EhbDQ6SH30Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BatteryStorageSolutionsMember</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_54ilYGUMg02kpw6POHPimQ"><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_nMb79flZwU2XVzLFda8gnA"><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_Xn-cj_H5WE2eKF_GA7YhAw"><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_JwNcWx_4oUaSOC6I2Vi9UA"><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_6RJ0rD7ukE-noJQLU8yfdw"><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_-J3IdnjmkUak8Mk3Jnu9_g"><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_bye0HB4tDkWdM4M9Gac4kw"><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_LQ0KVcXBkU-BqmL8v4Rmrg"><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_rClnIs8XHE6ardczfoeA7Q"><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_DRADgvCbWEmHueMU2XNbWQ"><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_FF4thZh7jkSD-LrQ3_iSeQ"><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_FuMZ0GOyj0mHFW_OL22v4w"><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_PR_93_vkpCKhE6pFL2NbjKKFw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PR</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_OFMfyRgwBkSyPB26_kf9aA"><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_PH_6FewQbssQEWUY3rJpLg6oQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</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_NO_Nx8FtG8IokaXHjgSBxG-sg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NO</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_F_VA7yqQ2U2NCqrEDD4tsg"><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_npl7_Y1Hqkihicvj5DSPJQ"><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_bxFbhvhuI0O-SiLF6ktQCQ"><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_IT_Z6rmUdAu-UG3tMAKJ8z5HQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IT</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_YLBMR3ppuE2ZbYRaWsqeYQ"><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_BN5l5xCkNEu_9-eLhbMkNA"><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_HREn2zv65kOERjskzx8Bmw"><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_11yDerAYI0-AXSOU8c8d1w"><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_prsJgThXwkK0DkBYeHQxhw"><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_noeabbPP-0OZsYekbvK9wQ"><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_Tv2azKStHUyAhBp0VS_2RA"><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_u4A3Hv2TDkqZd3bTvBxhPw"><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_zvlQMaX7-Ei-4RmOoAZJJw"><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_7ZNBlq0fL02j-JqqBuViBg"><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_EkCEeGbOPUqzJHhZ1XPHcQ"><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_6VvFfi_Jx0O2RzERCnMRHw"><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_HjLY6O1l-kSTt4BkLhDJHA"><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_USmV4TH8cEOqp5sPzY5fbA"><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_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_gi-mheLUcECz-IW4UGI8TQ"><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_SolarPowerAndBatteryEnergyStorageAssetSalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_UOE56Zydc0in3HezTvQnbw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerAndBatteryEnergyStorageAssetSalesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_kdZdNlZYv0GoqVByeQWhVw"><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_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_yXIJLFQQXUu7p5kd6jImpA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_UVFxDdJ5WUaJkaCBYEZSOg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_PowerServicesOMAndAssetManagementMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_6HF3kM4aokOAqt6JNN8ZqA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:PowerServicesOMAndAssetManagementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_EpcAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_9zEawpupjEyPZvhLUs0AWw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:EpcAndOthersMember</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_ElectricityRevenueFromOperatingPortfolioAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_v2VhsCQKYEmM-HMcmj2Wtw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ElectricityRevenueFromOperatingPortfolioAndOthersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_QB-7ZTkSokiOxsrvhB0r9Q"><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_LVtBZfF6NUOmIbdMPHfbMQ"><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_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_Ie4WjpDYlESXByb1KAtYhQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BatteryStorageSolutionsMember</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_A2bwlrhB9U2HIFjGRDAlzA"><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_Z7tjChbNXE2Nvg1xGIIvtg"><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_DlyVLzpTn0q0GrQoda0sNA"><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_HwySurKwLUeb_LOv97PYww"><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_UvJjjNWrr0S9fkSIgWvAzw"><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_3kqedtH72EGZkldAj3RTkQ"><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_74vH2XZlsUe25SgUltmwZg"><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_t4Ua-VwUu0ufNZBLcOb_0g"><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_iYJMV6XS90uxCevUZ03DIA"><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__FhEkMv_cESCW40Gatk9hg"><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_uM6Q-bemO02zPhbv8FbhOQ"><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_RHFrSvmzc0a3iT9xaEn-Jg"><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_PR_Y-Sm5bxG0EOApOxCU0cQoA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PR</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_xDb6Ji1hpEe21wp1Y3s5aw"><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_PH_wslf3caoC0KVzovacuA2Qw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</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_NO_PSKCbQI-SUqjCnCp1hT5Vw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NO</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_S2ak4FRKlkeIehUdEKAZNw"><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_rIVupoNWJUmg8hu9Bmp_0g"><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_lx7lMEJvN02y3DrKhPZadw"><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_IT_sLp6shKXWk2kVZZnVXsYHQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IT</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_I4BZyt9cVEC_EdPzi4xLiQ"><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_1_UCm0J_rE6XliOz48Bmiw"><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_nLTAGf7qNUSEUT-wfYgB-Q"><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_CP5vPjdFr0uEYokqWtj1oA"><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_BKa3W2iCxU2v3xmBfyu_Og"><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_z7X1Iyp_GEG02yFQvY_u8w"><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_dGBzHVixfEyy3puv9lnyZA"><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_ial6mEyGDUyeTrTdV4cV-A"><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_vPRpHNA7Tkyh4jWhmGQutg"><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_MTgcoc4fpECsRRagmWQ0Cg"><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_atjb8yPXLUKhC7Ev_RHrcw"><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_WZG1kPFaSkmvMSLweBobgg"><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_aXQTCijSaUilhwCSVMN7bg"><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_swzD0AEVB0OcyZg-wsf4xA"><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_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_LavraSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ETPfk2ZPukqKfxjgT5jTZw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:LavraSolarHoldingS.a.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_LavraSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_yUXt__MmgUK23RD0G4HuCA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:LavraSolarHoldingS.a.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_jlcp7PXgGEGokHr5DOxI3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_j3a2P-crm0yC9um6a5EKIA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_RWhvZ7CFnEudaMlqStWp8A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_pC0MBHGY-0y9MFPPOdUDkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Anz1b-Cg1E-m9NJrEADSGQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_XmTEiQj15U2HdPU2H8xPEA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_AoFYNYKjuU-GZl3Fn-1t7w"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_kRRetXLgF0Ot_Oa4bmpkTA"><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:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_WaEiPFIdpUigAZIrpWVYZw"><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:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_tKWG_0dlGEmS_JeLhM_iKg"><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:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_rbW637K8HkK-S1yVK685oA"><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:BuildingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_1_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_p-ctdiw5RkiQjve1vUjUew"><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:instant>2022-01-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_1_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_OK96WgpChUWj6HVGwfVTcw"><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:instant>2022-01-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_Mu1TlXWj0UaQrz0gkeDMRA"><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:instant>2022-01-01</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_fV2OfmeUM0CyXcr4zR9vaA"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_jz36dlyawUSrbF1tPKL0nA"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_WonKcJH7yEmYXYTj_BUdbQ"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember__0Lfb22S3UKjdmcjEn-WXg"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_b7KOkC-sckKDHZFW9sLHug"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_wtfWg7k9uUmNEVCyI3h5kA"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_83EDoEjfMEWoemV3OxIMgA"><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_tiYVyUz1T0Ci1pJ6OnSkKw"><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_sXsDq7DIH0S5adk3_76X_Q"><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_ZbxkqhH5eUmv5-pHCQc7YQ"><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_gjN-gOlJV0mNQhr44tlUDA"><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_Y1awMXKJeUmT1wILh8pDnw"><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="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_IPhDe1eMzU-9u4wY8YCluQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ofOWvk4goUqs6WPvch2V2A"><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_65MNyzb-kUKwcInEYII_Sg"><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_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_G_sof2vZREGGV7DP6-AnFA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarTechnologyXiningCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_i3FNawm9rUuWuEb_u-PGeA"><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><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_zomsJJ-EOESxGYJtxFWrbw"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsYangzhouCoLtdMember_Y6E_6KJykUS6__byobaiuQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYangzhouCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_oi6E8usJbU2JheMoiCvhMg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsSuqianCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_HoZ20m-kpkiFH0GLeJ9h6A"><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_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_GrantMember_SJC_T6PiUkiIJyfjdZ827g"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_GrantMember_PDKeWQTpx0mk4o4EMRm3mQ"><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_Bzjzle3KlU6LAG6bGtWUHg"><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="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_NonrelatedPartyMember_2vRcWQ1yXUirLwGNRbD7jw"><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><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:NonrelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_Jt_J6OtYD0-QdC688D872g"><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><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:SubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_BFgOCPFA00-ZkpkVA9IU5A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_NonrelatedPartyMember_B1s0DcswmkmkLCgkYRES3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:NonrelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_NonrelatedPartyMember_hE6Ui2A4iE-kl7u-8_CGWg"><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><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:NonrelatedPartyMember</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_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_26sT9YAvEEm88V1olm3oCw"><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><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:SubsidiariesMember</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_us-gaap_RelatedPartyMember_M8SCuvwdX0yIO_09T0ld_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_us-gaap_NonrelatedPartyMember_0h-PgT-Lg0uWZZeFBAeWrQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:NonrelatedPartyMember</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_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Pfw7VPwj_Ua3M8gS0GbM1A"><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_2023_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_B408tTvLqk2iUNgdW4cxkQ"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_w8HLnwwTRU6XeCtrbN1bjw"><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_eUa6xvCwXU-CWsyq9pyoLQ"><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_2023_srt_StatementGeographicalAxis_srt_EuropeMember_Unm7Klr-7kWuCsRjXvZkoA"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_NWzWTsqbhU-HRqyovdSGsA"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_US_rB6V3NXeXUmlRKKzaAVgQA"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_TH_g1YNSVaQ4UKe2ckVolavZA"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_JP_TgcbE02qakG8FZSQlX6n4A"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CO_G1EkubXYjUmFIB2rSXTX4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CO</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CN_80hDGSjEdki2xBN9W0xvVA"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CA_SBx3YZm7B0CTSgUQfnF5WQ"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_BR_crl3SxeSxUistEGO4AAUww"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_AR_2LSzNiPvkk69EXuydpD76w"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_srt_EuropeMember_41CRG9KMBUW_DnOK-C55pw"><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_-WJa2N5r-E2OQCV09CaN4g"><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_TGciro71Dk2gByw0WsJ6VQ"><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_WaOAhGglq0OMevBiINfFCA"><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_gK9lZ0E4AU-6Z8fIqAKIzg"><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_K4R_zb2xWUe3T0EgngOhfA"><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_rExRPOfZak6ApkGDw3JLLw"><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_OtJDSgb6Ck6yhWsx-gbpQA"><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_cuLi4ihwDESqpgpnrd25Fw"><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="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RzOcr5YVNUaFouhgn_rs2w"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ple6wfJcbEitB5Ka5Cl-qA"><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="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_DHZNwT3kuUu1FhkaKJdxRg"><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:CounterpartyNameAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ib3OfSU-4UC61ZHtZS629w"><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">us-gaap:RelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Ud21gceMmEisGH9Zn4PJ2w"><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><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Z02u3jPX8ku2ZpA852_MZQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:BrazilianInvestorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCoLtdMember_b8ZbWxyuok219iMzTCp-tw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-09</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_FcvvE0HIBkWZqD8Hg-3FnQ"><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:CounterpartyNameAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_QDiKVtQG6U-Jyu7SgFLnnQ"><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">us-gaap:RelatedPartyMember</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_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_mKj85ykSDkyozgz43Uswsw"><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><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_OP-_1MLHEE-T8iAicucspg"><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:CounterpartyNameAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CanadianInfrastructureFundMember_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_1-eSsyvD8keX69XYzYx7Xg"><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:CounterpartyNameAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_us-gaap_RelatedPartyMember_2po2badM3ECEuY8a15IDsg"><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">us-gaap:RelatedPartyMember</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_CanadianInfrastructureFundMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_aXw-tRWkLkywJBlWq8iaoQ"><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><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_evrhCYfCakSr8aaRtom3Fg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-09</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_8_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_aQNrQPl2fU2LwlO346dNxg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_OwnershipAxis_csiq_CanadianSolarMember_VNCIWLaEoEqbNebsJGuYhg"><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="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_KtjeEpSdBE29UQ1i42anQw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Bfq9xiFyE06nwH_UujkVjQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_o0i3MNYQg0id8cD_8G9quw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember><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_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_gnpxtDFt80-qB5_y-k7BMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember><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_2023_To_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_CrJgS-1PZEmlOQNTc6kWzQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_PiE0TfW1AUOutloK5kVM5A"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_Aurora01GkMember_2f3i4w2IukiepaWFkshaQw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:Aurora01GkMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_CounterpartyNameAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_0NariZOCy0KfQcF0wLrI6w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_CounterpartyNameAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_H7Yv3Q56lUWudLUfn3e5Og"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:HorusSolarS.a.DeCapitalVariableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_CounterpartyNameAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_aTCBbGanpEGyXk28hchnMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_z4nKhrEU4EKrGIPFWfZn7A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:HorusSolarS.a.DeCapitalVariableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_2023_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_-Wvdb1Ab7U23LQhVA6rH3A"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_srt_CounterpartyNameAxis_srt_ChiefExecutiveOfficerMember_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_xKvg9vT4ekSCjyWle_ogsA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_TH_1v5zTIJO3k6XzskkfpXE2A"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_TH_1Ufky5eSqEKgcT3kM6pMzw"><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_YR55zCHLvUegnjmf-RtY-w"><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="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_oV_jXQK8i06bID-v5lLp4A"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_eo3dyxxYP0q_6jwGcNqsBg"><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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Re-yMV43ZU29itwBDNzfoQ"><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_J623DVxLCkmTkxgIfR9jEQ"><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="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_pVgnbbzp9UuDbQs9QBTXEQ"><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:CustomerRelatedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_Ouee3zmroUSqRenE986NCQ"><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:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_37kwuGMl30KCeVsQ1psLOA"><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:CustomerRelatedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_l0KIKvSXx0SamHkVat9teA"><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:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_jkw4N1o-sEy_lVsiRv6-dQ"><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:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_AvNSYgA36EqZWQjujBa-zA"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksMember__NjWXWYwfU-DynV03dcxiA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_LlqIDPLdakywe9xwvaVQog"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelatedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_zkCj-y1m90mgrEOzcYswew"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_JZHSTzHb_UminUM8eVdarA"><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_5vS7u78k_0WdE2U97lKp9w"><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_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Ea3rD8lUQUiIAC2sTV_VPA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_WzXHDGFC-UOSPCVpeuY6wg"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_vKao-F6BEEmMPBIXaCDeJA"><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="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_BDq6n7Bo-UOX0DD3343LRA"><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_2023_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_JX8eSrTNDkGtTL28a52Cbw"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_tMg3pVrzcEGb1EXirB3r2Q"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_ES_8yv8-X02wcUssdjYvzg"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_duV2DGKTN06DflXRy2BCsw"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_vjP3pPKVjk6zwL540Y_M8A"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_hVqkPUIHRE-X8HNy3eGuAw"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_-JzrusLcBEyJGrRJrI9t7g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:PanatiHoldingS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_sE9JlBIBf02BMadJX7ewbQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:MarangatuHoldingS.aMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_2OinKKZJ7ESWsceFT_2Fkg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:LingangFrontierCsiNewEnergyInvestmentFundLpMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_hJBCxK0cakqRAECJ3jDNVQ"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_1mNm8QQBCkm6WDlUh_uDCg"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_XxwEcXnbU0elNwkCBJD7YQ"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_3L-jlL8XikeSPsqiQACsmA"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_TY83BwNUZU-ZTDJiry-VLQ"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YV-0wOfos0G0S3tK8XV4Qg"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_8_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_HqyayS63UUOuiW3f6jBVZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:LingangFrontierCsiNewEnergyInvestmentFundLpMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-08-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_giTyTHCmxEi7jHUphaDrVQ"><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_5cTg1Rm6SUCzwziTf4m_cg"><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_SuzhouZhuoshengVentureInvestmentFundLlpMember_Ow3TwyrHsE-4mFzS4-XUdA"><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_rH0cLwUtzEKdmU-0WJW00Q"><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_twzCWt7dwkaXYmT0SFdhGA"><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_-6DXDdIfbESVAsG1T-VOGQ"><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_PanatiHoldingS.a.Member_HObGbwA6rkKq9qNyMUCC8w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:PanatiHoldingS.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_MarangatuHoldingS.aMember_wDRW352b5kiHruoqG79bIg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:MarangatuHoldingS.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_LavraSolarHoldingS.a.Member_mHPlZng1E0-xfWWEw6Cnlg"><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_eplsERuDtkmJzzrbkY9cPg"><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_RjxDW-MyJ0eHF_f_KVatHw"><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_kdB_HttlQkSD-mqa9_cOrQ"><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_6tihLq2cukSAwzsDUH4cQg"><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_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YuN8otQ-UUmQVOACshWqUQ"><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_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_NJR_95naqkGM-mDRVr87Hg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:PanatiHoldingS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_J1nPo-TGwUy5bTFpncX2LQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:MarangatuHoldingS.aMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_PyIlF4rFRU6ixQwjQC9f9A"><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_8_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member_HnwAWgb92USUPLT-WPM1Lg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-08-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_AuahKICJqEO294v12yEA2g"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_NFQkSlwzQU6JE-FEOZW_fQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_YPqGg8zoSkKmx5MpxP3lQA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_8zsla1VVkkKYgWgXmI1P_A"><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_Hk09aV1AYUu8Pqq55Q2KCg"><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_aI8OQZhGzEmCswGZCt6WfA"><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_HRchQ1DoU0WfFigDh2Yzmw"><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_tUdp7tVF7UeaMFuDgqODRQ"><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_Wk7DD-At306YTa8aWZjUjw"><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="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_IEhdEFbRLk6ps2Obz0PXKA"><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><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_G1Ru-mexRUGQuXOp6Sy1sA"><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>2023-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_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_xpbimS3OeEq5hl1_tMytSg"><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_LD26BMWRiEa7ZbOjcf7W8Q"><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_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_tQJLpU8oT0ew6kXThcWNgw"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_OFdlqcT6n0a87_ppMDAVkg"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_vU9CW6nzk0ajNK46Gs5w1A"><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>2023-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_0Uc3q9OmZ0ynTP4Lq1OhWA"><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_FKpDUmgwb0qjp-_PqH_upA"><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_di-MGqik2ES4MeVXXg-c7A"><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_PAob01Ig0kOaLzsjKpJJ6w"><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_aZ6AFPK2NECVk1kGWEb_Yg"><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="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_-eG67TvEvk-tG_zgh9qhuA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_MbBYQbz7AUi28RqcQGV-xA"><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_jVleGxNTaEaCqHVD0u9OeA"><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="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_VRSPuMRBSkSsClqZ8Eyiqg"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_u3RxRVI0H0KvHxTn_PKCeg"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_Jc4jMl6YuUy0GqxcdT3gtQ"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_x93Rl_Rk5Ua3O9NiXkTBKQ"><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_h837DOEs-0OxiUcAZLhOBA"><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_pVv2KUsf_EaCaqwpl1UBIg"><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_2023_dei_LegalEntityAxis_csiq_SunmexRenovablesS.a.DeC.v.Member_us-gaap_DebtInstrumentAxis_csiq_LoanFacilityMember_QkCCSXmP-0m3KBXrOz7oEg"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_us-gaap_DebtInstrumentAxis_csiq_GreenBondsMember_u0GjDExkm0aLxt5GaFA_zA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:GreenBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_DebtInstrumentAxis_csiq_GreenBondsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_axZlLE3gKUCwZBX_Iick2Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:GreenBondsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_okNBXsarzESDm9kXSKoiEQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectBondsMember_ovDUzUF5qkmEfIgLd_YlBw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:NonRecourseProjectBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_CVoCoEsnhkC6IwcHtuCxIQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_us-gaap_DebtInstrumentAxis_csiq_GreenBondsMember_qhjx5VrD4kSXGHQnCNZXRg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:GreenBondsMember</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_GreenBondsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Zo7E0rHuqkGjUQofu2R2_g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:GreenBondsMember</xbrldi:explicitMember><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_2022_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_jVWbxUaeZUq7ZAFJM3HOqQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyLlcMember</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_CsiSolarCoLtdMember_7PI-qqgn1kS9IlzJTddYfQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2021_To_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_7g8VmQKD10aBzxq2SEwMRg"><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="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_WtEMom1VU0ybaJVNGpnOcw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarTechnologyXiningCoLtdMember</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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_b9kTsD5L20SDduKjf5Auvw"><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><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_bATzA2AvB0OoT2-X7O5GZA"><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><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_4C59bf2IMUOZzexUZTmhrw"><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><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_us-gaap_CreditFacilityAxis_csiq_UnsecuredCreditFacilityMember_7DwwkJ5v_Ui1ZFV3dE4NeA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarTechnologyXiningCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:UnsecuredCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_us-gaap_CreditFacilityAxis_csiq_SecuredCreditFacilityMember_JoyGSKg7t0qiDEYanX7Ciw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarTechnologyXiningCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:SecuredCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_IGhGO1P77ESNupYjYTGudQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarTechnologyXiningCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BankBorrowingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_us-gaap_CreditFacilityAxis_csiq_UnsecuredCreditFacilityMember_4w1iYQwKHk6bxcO9fDuslQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsSuqianCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:UnsecuredCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_us-gaap_CreditFacilityAxis_csiq_SecuredCreditFacilityMember_drozSQ9cSUqHAtHA_OXiZQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsSuqianCoLtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:SecuredCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_2lX6u_dO1ECFu2ZeMUvUAg"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectFinanceFacilityMember_YJC02rU4mEKqe9_O9ufXpQ"><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:NonRecourseProjectFinanceFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectBondsMember_hFLs8lQAiEqH1k9pwi-egw"><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:NonRecourseProjectBondsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_oQTOORoImkarR8rvOi0s7g"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsYangzhouCoLtdMember_dQThxa_ee06k-9KzTqgHoA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYangzhouCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_YKOdRPy7oky9nAOGxQJ8EA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsSuqianCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2023_dei_LegalEntityAxis_csiq_Aurora01GkMember_VUqKQQJMRU-4j_WGN0QFPQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:Aurora01GkMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_F-a7Mqki00K48eGJ1cQX1A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarNetherlandCooperativeUaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_us-gaap_CreditFacilityAxis_csiq_TermLoanFacilityTwoMember_IuTMt0Pxy0y4asFtqeg3gQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarNetherlandCooperativeUaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:TermLoanFacilityTwoMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_nPMUMkuggE-H7qQ6x97iTw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarNetherlandCooperativeUaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_3_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_fhk0-37ZiE2mxtw2qQdC8Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarNetherlandCooperativeUaMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche2LoanFacilityMember_wtGuDs-0_U2WWdGXhyMfZQ"><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_cAX3vRa5mkqHl0uIoSesNg"><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_V0xrEsypfU2Ncghqf-4qMw"><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_8i-7BNlxsk2_z7rFZeX0fw"><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_CanadianSolarSpainSociedadLimitadaMember_2M31FX89B0mP07p6WW8W2A"><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="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_SunmexRenovablesS.a.DeC.v.Member_us-gaap_DebtInstrumentAxis_csiq_LoanFacilityMember_kMjhAvAFhU-NPCficyfxOA"><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_X5qEZraBukWWZDk-E4I0qA"><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_NHfJgJqoyEeTAZE02kWDNQ"><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_2RdFhDhu80yScV5qB5-opQ"><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_YYZO6HJRkkmcQ3Tjv-bKEw"><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_12_31_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_rAdiZhMFzU-vrK6pRf9UJw"><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-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_W8cXFnCrLUSskDihwt6gZA"><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_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Nc3y2mC1-kCStgx7enKmbg"><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_5CgaAnljNEi2pv_ZjWn98w"><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_lZR6gpJiBUqNALDH1kbRmg"><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_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_mzsFdWmVA0ehho4L7sa2eA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_US_NuSjbowMM0CZlAtL879wZA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_SG_MIhW0xDHRUGQjtX3ok8Iig"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_JP_CMmZqN-fGUeb8Q7oyWPMqg"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CN_P2szLiN-K0Oa3W68m5a06A"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CA_5wTrYiI8Zk60rNKOWAmovg"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_BR_F-9qFPYhE0-pc4ktmeAx0Q"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_YbWz9yFO6U63vMwWSeZChw"><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_Cun517e7r0mNxMampHfrNw"><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_4KBNX5JN10Oebg2jQULr0w"><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_Za9OCQw9aEWqDkmyY0Ssaw"><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__86cLK8ZMkGWCzNlyXIp6A"><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_dOPNbZ42Ske8sXmFSuAWbw"><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_2S2cZAub70ybmaUv8__33g"><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_HCfjZ5zgGEOem7ksX57ZmQ"><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_t78NLnj-LUSKMhJUhWl8Ag"><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_R1RJeoHBmUqGbj4SxzDhRA"><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_2HDvQRaTZkyYBoOZEEXCbQ"><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_Ba4AXI6Hv0ucnPuzA-RctA"><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_lz4Wo6xkNkmYSeVfRvgVeg"><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_C8kTw5pGDUKD5GLczCKF5Q"><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_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_bHo0HXx1D0uwA9lxh-JWVA"><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:RecurrentEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zinVFX3aokanfDZRgZkXQw"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qu1OMIJPIkuk-CFSjk6hnw"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-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_RecurrentEnergySegmentMember_EijStfG6KUGjlSxi6sTKww"><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:RecurrentEnergySegmentMember</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_hjI2PV1IrEShhHY3CZuoPQ"><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_zB9vTCyNQEmqlzOtiZjn1g"><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_RecurrentEnergySegmentMember_rzCETBtpCEC-C092Ogt9WA"><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:RecurrentEnergySegmentMember</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_kRfzJhOT60KDxqhzmODneA"><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_OlTRk41z-UmMX4uslYPZRQ"><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="As_Of_12_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_WFHGv7dq0EmPTFd1YRrF5A"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_hxfaEZwGw0-tO5STMbomCg"><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="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_C1FRS_eBOECAWeoJD417ug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_XQ9e1zvIqk2Bt6JdIq_bMA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.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_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_t-D6VDAKoEynnhoMyZr58A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.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="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hTa0aLkBrkmTjndU--ZlKQ"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nfjuJ-ne6keEtsyNgbR4Bg"><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_6pq9tWx1OU6K17Iyw6obuw"><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_Wr1FYni0tk6Fx0pLPLbCww"><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_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_2I3jOHmUmEmiCDffN7MR2Q"><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="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_B0sOlVpw50STUx9PBISUQg"><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_IAvlFUuH00KKZuwXmlH8CA"><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_7_1_2020_To_7_31_2020_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_zQysP7sf10uO6Pe_iWJl7w"><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>2020-07-01</xbrli:startDate><xbrli:endDate>2020-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_7_1_2020_To_7_31_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_7DF6CjZRPkKmp86srDDe_w"><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-07-01</xbrli:startDate><xbrli:endDate>2020-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_cfmg6Tw1Gkmw0fnKOuP0CQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_cHUvZIdoPkWTQHJlgnOESQ"><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_FriujmQWhk-aMmGVJAiKxw"><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="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_1kP2c3aT2Eio_d0_AjFRxg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_DsCOJW4RtkiFbD1im4-Khg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember</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_Uy050kVvI0akX6ztbcxXZg"><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_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_QGV9ahgsc0KlyxnGyij7zA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember</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__ov5GIt1OkCvBF3uklbrvQ"><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_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_JdFkQ9ASwEyf2JZmmBuj4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember</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_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_jDHpMaygyES8fKLvs1qA3A"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_acFHZS_OoU66MU8FssBCEw"><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="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_c0YjJjRLT0Ox2I3zJJTv7g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForWarrantyInsuranceReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_kW6atqiP10yTYE7-3NFDMA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_W-Yhr5JE9k2y2Wuqvia04A"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_-7puMFjF0UeoyTLKOB5HkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csiq:CsiSolarEmployeeIncentivePlan2020Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_LWmYNOXZikut3pvMJqZecg"><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="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_1L5LORyZ1USAZ1ZSt6ypmg"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA"><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_4HcbvFQfWUitoRHap-Un6Q"><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_Nz9nzr6XzUyFmY4HjV2vnQ"><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_yV13MQEAEUioqwRfrbel-g"><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="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_1gZwKsyZ3EaG0jinRQY_DA"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_JrebpY3Ng0GBDMmCn3hgvQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForWarrantyInsuranceReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_WFVK4PjiUkehmFo9yBl1zw"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BW2AAeR4KU6QskdgDlsvWA"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_yEE94TbUCU2nZBmasmgreg"><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_AllowanceForWarrantyInsuranceReceivableMember_pOre9Y4VL0WcNPsPmUbEbg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForWarrantyInsuranceReceivableMember</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_48LFhpGB3k6ebscKyuVMEg"><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_jd0QyzdA50CZFkCUzpH9yw"><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="Duration_1_1_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_z19N_66-b0GNb2uuD1FCAg"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_uu3AUryx5kWUSPunxZnrUA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_9GK8X_EqXEuN1Tbf6zPcJA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-JIwAFK1sE-l7QWbJVZm0Q"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_Xfdf3ZJMwU6lRJ2EbRJaDA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_8tGw5yT0gECX0FdgPPnlFw"><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_k8qosnusTUKRgY6QCXEPDw"><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_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_YLrUcr9OskmJG0yrxpz0oQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember</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_a1pOMXEBlE6qtiIrhYgk3Q"><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_TGFcEY97TE-bl6CLoJeN5Q"><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_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_lAlFL7qZVk--eyObKSKxMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember</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_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_srt_RangeAxis_srt_MinimumMember_zURZGeg500WWXWJQKshRpw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BatteryStorageProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_srt_RangeAxis_srt_MaximumMember_g9Zu-n293k2RNI6Yi5rAPg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BatteryStorageProductsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsByEpcServicesMember_cNIepb4TTkKX9iNLnWqmPw"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_xDqoLAbqnESx6e5G-uTs0Q"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_yb_kL1iU1k-wrSNtM8seww"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_swoTaHoX6EGEzalUS79WRw"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_4PWKnuoV0kGiCMlVoEY7aA"><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_zQLdhKIFakixbge6xtWm9Q"><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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_CertainSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_CHaGigBP-EmqN1fJXdTItA"><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_1JqaHu5k_kC8qU53QaV6rg"><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_5y9-zb3uRk-OPKn7odHU-g"><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="As_Of_12_31_2023_us-gaap_PlanNameAxis_csiq_ShareIncentivePlan2006Member_Hj5NdY2cLEWj0UTbvnKNmQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csiq:ShareIncentivePlan2006Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PlanNameAxis_csiq_ShareIncentivePlan2006Member_uDKmQjZllECkBbMauLFtlg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csiq:ShareIncentivePlan2006Member</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_PlanNameAxis_csiq_ShareIncentivePlan2006Member_aQSNfZa9fk6fFh4vE8Ax3w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csiq:ShareIncentivePlan2006Member</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_aWWAbWE9-kK4nB4KBcySCQ"><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:context id="As_Of_12_31_2020_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_wdTRMCsgTUKMc5VK7B_WEQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csiq:CsiSolarEmployeeIncentivePlan2020Member</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_2023_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_XFvq5O6dCkOYwjN9gqLP9A"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_V7tC4d5DXEK-dBeLKqN8AA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_IgpbAU-lsk23EMAxjJ_HlA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_qpVSMivIa0mhw_oK0dMhlQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Xn-nDz_qwESLHVXBXN43_Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_Femt3TG9F0C0hlkbCbCc6A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_OHKPzzY1gUiS5qdbOmwDTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_RecurrentEnergySegmentMember_H47JQc1Mx0mXJ-WXemy37g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw"><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="Duration_6_9_2023_To_6_9_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_A7lHs4qezUy15tu1yj9jkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-09</xbrli:startDate><xbrli:endDate>2023-06-09</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_BmJzR9eWYE-Iq-taiz8law"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_M6s1YAAR3kKFA7gGiV-J_A"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_uk4o6lKmj02ozxzK0NIeZA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_1_31_2024_srt_ConsolidatedEntitiesAxis_csiq_RecurrentEnergyLlcMember_srt_CounterpartyNameAxis_csiq_BlackRockMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_JP7BuYKMjUOjFsmXO9zeKQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">csiq:RecurrentEnergyLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BlackRockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-01-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_csiq_DomesticAndStateTaxAuthorityMember_NEoo5pfZU0iL0Gd0IX3wbA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:DomesticAndStateTaxAuthorityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_RXqSE3aBZUWeroziSJM_Vw"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_e8f8q252002Oe2m6EHdsAw"><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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_EZTyzWkHMUKcmRQ0Lou2Bg"><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_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_zwVrSaUchUuhI2lWFeWjew"><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_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2020_To_4_30_2020_BsJ8sFNrzUOWhL7oL8shQQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></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_1_1_2022_To_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_z84Xd7SXaUChpwj5Hlc8kQ"><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_HXuLyZ2gsEGoRT7Jeb7aww"><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_BpcVD74KVU2EtLP5wyOXdw"><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_ShbveCe6ZEWydSoLGHURoQ"><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_2_1_2024_To_2_29_2024_srt_LitigationCaseAxis_csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember_-CaVnWmnQkyRGKgKo6s4tg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:TenthAndEleventhAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-02-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarTwoMember_AkAG_jMUpE2ucQB4CtwQiQ"><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_2_1_2023_To_2_28_2023_srt_LitigationCaseAxis_csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember_skyJxd9QK0iQ82WszYi2Rw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:TenthAndEleventhAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_iyfwX_3N6EWKlPAwO_saPQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember__l7g0T_liUSXoMOtd6qHNQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2022_To_9_30_2022_srt_LitigationCaseAxis_csiq_NinthAdministrativeReviewOfSolarOneMember_fxd3ftggRkm2WQfyGJt7Cw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:NinthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-09-01</xbrli:startDate><xbrli:endDate>2022-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2022_To_9_1_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_BQcztLydUkaJeSUcbtoZOA"><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_YmlVGq_lzkGer9Zdcx9xxQ"><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_uG5SlgRCJEW02OHHvKL_EQ"><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_kCATClntzkuCy7-CFeGS4A"><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_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_3CFW47ounUeMsWfyd45nvQ"><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_KOuy-J1ps0qjj2hDe8kQ7Q"><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_qhX774MnukqIoaOqh6w9yQ"><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_Sm1KCi8jiUyEL0QqDXV9UQ"><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_FD4bAw49Uku-67u6a8uHyw"><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_lfxIHvS12EO8acPiljynRg"><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_SdA_5OylzUOkk-3trXIAOw"><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_IXHrrCsWnEeLYY95Y9ydzQ"><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_yXA-ayxWUEiTTjWBeLKEwA"><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_PxUdFumf9k-pizc28y3_9Q"><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_MHzyFRF_MUOHhrJgKhNZow"><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_D_nrzaV4fUmGZi11rL2kcw"><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_ixvQ4Q8TFECHwsJUwHx-ag"><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_5szvLrOszEetgJ6TcfXe2g"><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_O-McbgaYy0OK2DRThtIfiw"><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_sCDfNA_zlESeRYp7ejyFfw"><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_PfYz0yFd7UO7cdawl0af5A"><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_7_1_2023_To_7_31_2023_srt_LitigationCaseAxis_csiq_NinthAdministrativeReviewOfSolarOneMember_aA2F1Vd47kCP_OgUX76-Ww"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:NinthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-07-01</xbrli:startDate><xbrli:endDate>2023-07-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_vM2Lm382lk6D4F3aweF9Pw"><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_Q8Rzd5gZVEObciQqjwCE5A"><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_VutT7k3FMUet_UXlb-i9Rg"><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_1_1_2022_To_12_31_2022_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_G0VhCxDLwUK9GRSY5bFNxg"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_PZffFnR0Q0uC5XvQ2E8r3g"><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_89XR2Wp0S0OHX4lhawwhvA"><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_1RQCOAUCVkKiIAp6Da30dA"><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_RuoRRxQF70qeA1lF3M-B5g"><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_hukhFcXhDkCcgWiOxgHQvQ"><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_fMAuhT758EmMQd-wWfPI7w"><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_3qvD5LTXU0GhruP5UsITeA"><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_-KUZuvMyY0OIcJ8B7Vjqlg"><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_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_kPg-x5rcIUaT-agD-nmATg"><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_EckpAfuLFUCVKmVwLonw1g"><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_8DKp1TAD7kCC4CXW7MrVVw"><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_Sb2yRTyyz0WbYmi2bAwdpQ"><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_KGHFyhoxbUWAVoYDdolYdg"><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_3tfUf-3mtEmOpVSni7ayGg"><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_5bjvopJ-1kaQZedS48lUgA"><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_DwwoB_GK5Ea3DYk4s40iJA"><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_Z5MXXKLn0kydFbIL5W2GOw"><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_AUuJaAgpK0qW1mkmsVnVhg"><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_Sks3iFA59k2qPAMbjDGAhg"><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_Nbi0w7IM3UGjl2_nyZoxEA"><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_oo0O3SSRjkCKQ99nXyeoxw"><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_WdWpAqLWpEG6wSdz1CZzVQ"><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_Hx2NWKrpBk2J0cOeH6qlkQ"><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_uAufb-IwRUGsBhfSUPNKLw"><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_kgm7rOfsS0Cxz5V-BmWwTg"><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_eSKnaSta_EWT9gC26WDbjQ"><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_mPGwyYJ960uoI_aWd8xtpg"><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_OF5CM1u4b06EQxkSxkVnDg"><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_MBW8oUnAgUudnO5uHUqUKw"><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="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2ypg_nqbgkuBccdVNZrv1g"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_oxxmDWsae0qVjA64quepWw"><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_c6o6Jzf53Ues3B-5-gFjyA"><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="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"><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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_HAaF0DywSEGUfBguAedZKQ"><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_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_6j3nmY6eg0CD-l2XM_PD3g"><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>2019-01-01</xbrli:startDate><xbrli:endDate>2019-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_-b0_7Og4p0i3el8lK66VwQ"><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_GebhO3giQkWjY431K4cWLA"><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_23TJRA-bn0aTAtz-hXQI6g"><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_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_4r8LjN8gh0mdDdCaJti1CA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_aJMUd1ar7EeR1UJTZ3Znqg"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_gwt7c9wvUE-8pQxCf4BjTg"><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">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_66j7qm548k6x0yhQ4Kpm7g"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_84lt1fOm5EO75wOn_i3fWA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_4sjoN1pOZkyh5OWoUvS3DA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_LVRyNcKfBUWHnzJ_1RyM3g"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_SNAiactADEezGDi7FeYBLg"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-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_IoVS33MTR0yey79d4zIfTg"><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_Lj1DHNZNJUe37NHNCSaj9A"><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_CfSKILHQtkS4vSuXDZqj-Q"><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_kqKDCCRqJE2ms8Dw9pKDsA"><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_dByBRGaHp0ubkdWUPV79Ww"><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_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_CDtH1lhr4k-mhN4OfyhiNw"><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_nK9N395Pf02XbsBGaXCtJw"><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_MvGMyDFyU0SWsVCWeLpBkg"><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_vq1uJMF8T0G-gRBEAW7CPQ"><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_JkY-JtQitEi8FKeg-k_J8w"><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_JQjRSTvtfU-Qph4urhmX4A"><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_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_4lo4lJHb_Umg3T132uPZzg"><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_Qt8WOogj00eO0UQngPnGdQ"><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="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherCurrentLiabilitiesMember_dbq9KowpK0Wk0UCteamtOw"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"><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_GXc2CCDWnU293K5aBkD-YA"><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="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_6jX0Mt24JUait6k6xuOsRw"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Rvi-6Y7smUa3DJ3H04zHvQ"><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_waR_vcnWVU2usZfdbExWIg"><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="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_y_QdWoUCpUOBQZMYEXMJSA"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_3G8QcAHBmEyXhCLHWHtztw"><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:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_8hjJmi5StEaLy1zCxjLl5w"><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:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_aj9SPfulKU-CrWrdjVIx3g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_cABhXXIy_EO7NWdBVBwVtQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</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_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_A1sEXhgp2Eq5FRyEbBL6Yw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</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_9_1_2022_To_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_9nkCy2Bu4UKWf8x0QTC0uA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:PanatiHoldingS.a.Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-09-01</xbrli:startDate><xbrli:endDate>2022-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2022_To_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_2FqzqPVug0GzktQYtX_Qnw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:MarangatuHoldingS.aMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-09-01</xbrli:startDate><xbrli:endDate>2022-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_0A_FTcQnvkyceg0AWEwFTA"><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>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_puNThMPmG06ctuSpQS07Tg"><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__cdig0q_P0u8GJ7-WnMdUA"><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_8_1_2019_To_8_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member_IMVBOA3zXUGvZL_Btbl27w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member</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="As_Of_12_31_2023_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_TS9t0JMkrkKqR7Y0xMtsXw"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_LongTermDebtMember_9t8C_E-XzE-HtThmZeM1jg"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_Ohwy9cg9J0avE8H3x9SJwQ"><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_hE3L6nxy3EiJGqmy0zJabg"><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="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg"><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_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"><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="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"><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_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1mIJGj0-dUi9k9oQMKJNtQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_ceHEJ4VvfkqI8sALHoNsvQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">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_9_1_2010_To_9_30_2010_AQ_xuP1PvUC--aAhUhwR-g"><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_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ryvoTcfNHUOsDJw-hXCk5Q"><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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YDotsNiXVU6SNlcaXMaXIA"><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_WPjYxh6bbEq_6RjQ7bNc1Q"><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_2024_To_1_31_2024_srt_ConsolidatedEntitiesAxis_csiq_RecurrentEnergyLlcMember_srt_CounterpartyNameAxis_csiq_BlackRockMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_lTuv_E6u7E-x21DkFE52ug"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">csiq:RecurrentEnergyLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BlackRockMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-01-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2020_e4l9AB3P7Ue0Md5J7y_79A"><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_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"><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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_eo_R8EAmhE-_cdVsanE2YQ"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_csiq_ShortTermNotePayableMember_Oxf8e0c5FUWCs58BHWcYfA"><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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001375877</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"><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:unit id="Unit_Standard_D_87kKI9PO70q8EVj9eVh9KA"><xbrli:measure>csiq:D</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw"><xbrli:measure>iso4217:JPY</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_EUR_17HFMf2lRk6XTW8-h5eE6A"><xbrli:measure>iso4217:EUR</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_BRL_qQhbsbkMjECqnYnobxloxg"><xbrli:measure>iso4217:BRL</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_segment_uP6_O8BSvki0TrrpY9QbPQ"><xbrli:measure>csiq:segment</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw"><xbrli:measure>csiq:item</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg"><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_BaaAX3GvrUGwLmMpNrgmZA"><xbrli:measure>csiq:director</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_Institution_k-1ftVqRb0S-PWM8uebl7w"><xbrli:measure>csiq:Institution</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_tranche_ZRvaOf7SM0ajVRh4II2QSg"><xbrli:measure>csiq:tranche</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA"><xbrli:measure>iso4217:CNY</xbrli:measure></xbrli:unit><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_Ierld0XU1kqFJnqMqUfaQg_7_2" toRefs="_68c5258b_a5f8_4a19_b7d8_b6e882ff7d87" order="1"/><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_uRKovIpSWk-jeD9BCtANUA_7_4" toRefs="_68c5258b_a5f8_4a19_b7d8_b6e882ff7d87" order="1"/><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_eA9GcXPZM02kcpVzn3PhUg_13_2" toRefs="_55b926d1_e033_45e1_aa19_4c28ad6fc60c" order="1"/><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_eLgSvhb2bkelXTTz967iXA_13_16" toRefs="_55b926d1_e033_45e1_aa19_4c28ad6fc60c" order="1"/><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_ueAlqwHCo0mad7tql5w-mg_13_4" toRefs="_55b926d1_e033_45e1_aa19_4c28ad6fc60c" order="1"/><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_pUA9QqkY0ESliEWNhB70Gw_13_12" toRefs="_55b926d1_e033_45e1_aa19_4c28ad6fc60c" order="1"/><ix:relationship arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" fromRefs="Tc_1mxtlJeiBU2vDXuJT6QDPQ_33_2" toRefs="_2f8b80ee_3d7c_4de4_be33_9e2e441250e7" order="1"/></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="_bbab811b_b1a2_40e0_8bf5_39e87a973c08"></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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:DocumentType" id="Narr_8GRlzFkI_Uq-w7dGmsxgdg"><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 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:DocumentRegistrationStatement" id="Narr_POA59Nmav0ObfPhmZk8Rvw"><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 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:DocumentAnnualReport" id="Narr_sC60HLeoFkKzjYIHQbyskw"><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:DocumentPeriodEndDate" id="Narr_BESCcsT59kGz5etLe5J-8w"><ix:nonNumeric format="ixt:datemonthdayen" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:CurrentFiscalYearEndDate" id="Narr_0F-ZzmYkd0OVQLEFzounHg"><b style="font-size:6pt;font-weight:bold;">December 31</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;">, 2023</b></ix:nonNumeric><b style="font-size:6pt;font-weight:bold;">.</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 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:DocumentTransitionReport" id="Narr_S2mTBxSAMku4RCpKvQJGng"><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;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 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:DocumentShellCompanyReport" id="Narr_b_jZTvN5r0WvryaYcCnlWw"><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: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: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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:EntityFileNumber" id="Narr_nrsiBAZ6TE6DjQd5u_JSIg"><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:EntityRegistrantName" id="Narr_WyBI4CNTQEeITVwv4zrm5g"><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:EntityIncorporationStateCountryCode" id="Narr_L8cj4DwbX0WIvsYqPHNTzg"><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:EntityAddressAddressLine1" id="Narr_NessEeomuUS_ZahndCGGKw"><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:EntityAddressCityOrTown" id="Narr_agPTvohidk2IHsJJQQ_WkQ"><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:EntityAddressCountry" id="Narr_r9P-CNRc5k-TBegAR08--A"><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:EntityAddressPostalZipCode" id="Narr__yFde_mr_UWeyvRdCgCRwQ"><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_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA" name="dei:ContactPersonnelName" id="Narr_22REpjbXeUm1W2vhZ28uwA"><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_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA" name="dei:EntityAddressAddressLine1" id="Narr_1IQ1knMtZEKu9wPiQ_LH5Q"><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_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA" name="dei:EntityAddressCityOrTown" id="Narr_4Cmnqy3JIkiZZB3YUqbqeQ"><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_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA" name="dei:EntityAddressCountry" id="Narr_wseflVqT6Ee1NwyHtxlalg"><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_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA" name="dei:EntityAddressPostalZipCode" id="Narr_obELBG2vPkeZeU3ewJUPGQ"><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_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA" name="dei:CityAreaCode" id="Narr_NHsKd2SWyU6qVu4n9zTRHw"><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_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA" name="dei:LocalPhoneNumber" id="Narr_6y77FpOPaEuL0OycJZPNZQ"><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:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_09c20fc0_1bf7_4ce0_ae48_e2a214c5a5d6"></a><a id="Tc_f5MTyuPouE6tc5a1x3bXKQ_1_0"></a><a id="Tc_2PeydM4Xd0GnazQNA2qeZw_1_2"></a><a id="Tc_OK7Qrf1jNkOKVcE4ijAOoA_1_4"></a><a id="Tc_gPGbAZ2Ni0GSsnadANoGYg_2_4"></a><a id="Tc_CuBP8eiIuEKtjYb3ETIqNg_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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:Security12bTitle" id="Tc_al-53XHYyEmTtoRoL5soHg_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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:TradingSymbol" id="Tc_26EDU9RTOE2sH_Pdrtpn2Q_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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:SecurityExchangeName" id="Narr_XaSdICurR0mQ2c3u63BmIw"><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;"><b style="font-weight:bold;"><ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" format="ixt:numdotdecimal" scale="0" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" id="Narr_uCKr2lpAzUy_tA-ulL3qmw">66,158,741</ix:nonFraction></b><b style="font-weight:bold;"> common shares issued and outstanding which were not subject to restrictions on voting, dividend rights and transferability, as of December 31, 2023.</b></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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:EntityWellKnownSeasonedIssuer" id="Narr_eLYYt6RvHUWKmvVNu0GZDQ"><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:EntityVoluntaryFilers" id="Narr_WJIdYys7AEqRkmONq9qZdQ"><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:EntityCurrentReportingStatus" id="Narr_4wvaYJqnskaECNEvi9VVbg"><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:EntityInteractiveDataCurrent" id="Narr_pMfwesCHJkqQaCykiLqs2A"><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_9m5AU5uRsEuK6XmT0P6njw_0_0"></a><a id="Tc_MqDeDorcmUOIjpCFF31FXQ_0_2"></a><a id="Tc_qXuJzU1LW0q1Svl6z_0PEg_0_4"></a><a id="Tc_1PXdGerdTkG7WauPdlWo0w_0_5"></a><a id="Tc_GRP1YY1Hp069hflp3NQMLw_1_4"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:EntityFilerCategory" id="Narr_HHMpfOEhX0uJ9-HyVYy3xQ"><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:EntityEmergingGrowthCompany" id="Tc_5zsWoGOI1kaOiBhcZUmEFg_1_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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:IcfrAuditorAttestationFlag" id="Narr_zm-23XopbUqgJ1Z_FupxYg"><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:10pt;margin:0pt 0pt 2.5pt 0pt;"><span style="font-size:6pt;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><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:DocumentFinStmtErrorCorrectionFlag" id="Narr_c1G0PpYDh0qLD0U7AM3Jdw"><span style="font-family:'Segoe UI Symbol';font-size:6pt;">&#9744;</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;">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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:DocumentAccountingStandard" id="Narr_GaxidTHwQEyM4T508QVtEQ"><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:EntityShellCompany" id="Narr_swpCSPQ8kUe2L96mzKYW1Q"><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="_d73ee16a_ba34_4a21_b8dc_f0850feb5e95"></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;">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="#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;">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="#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;">8</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;">61</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;">88</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;">88</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;">112</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;">132</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;">133</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;">141</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;">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="#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;">159</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;">161</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;">161</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;">161</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;">161</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;">162</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;">163</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;">164</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;">164</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;">164</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;">164</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;">164</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;">164</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;">165</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;">165</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="#ITEM16JINSIDERTRADINGPOLICIES_767849"><span style="font-style:normal;font-weight:normal;">ITEM 16J</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="#ITEM16JINSIDERTRADINGPOLICIES_767849"><span style="font-style:normal;font-weight:normal;">INSIDER TRADING POLICIES</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;">165</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="#ITEM16KCYBERSECURITY_698295"><span style="font-style:normal;font-weight:normal;">ITEM 16K</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="#ITEM16KCYBERSECURITY_698295"><span style="font-style:normal;font-weight:normal;">CYBERSECURITY</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;">165</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;">167</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;">167</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;">167</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;">167</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;">168</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="_a5448a6b_ca67_49ef_ac4f_37edf0c18f70"></a><a id="INTRODUCTION_7698"></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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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;FIP&#8221; refers to feed-in premium;</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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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; and &#8220;USA&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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;VPPA&#8221; refers to virtual 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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; 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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.</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;">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 0pt 6pt 0pt;">This annual report on Form&#160;20-F includes our audited consolidated financial statements for the years ended December&#160;31, 2021, 2022 and 2023 and as of December&#160;31, 2022 and&#160;2023.</p><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 29, 2023, which was RMB7.0999 to $1.00, &#8364;1.1062 to $1.00, &#163;1.2743 to $1.00, &#165;140.9200 to $1.00, C$1.3202 to $1.00, AUD0.6828 to $1.00, THB34.3500 to $1.00, BRL4.8521 to $1.00 and ZAR18.2622 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="_eae9f5c1_f421_4bf4_be41_27207b96f775"></a><a id="FORWARDLOOKINGINFORMATION_258409"></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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 power and battery energy storage;</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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 and battery energy storage technologies will be adopted and the continued growth of the solar power and battery energy storage 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 operate solar power and battery energy storage systems in the U.S., the EU, and elsewhere to create greater asset value and retain greater ownership of projects in select 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 power and battery energy 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 and battery energy storage;</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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 energy 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 and battery energy storage 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 lithium cells at competitive cost to support our solar module and battery energy storage 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 energy 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 to increase revenues generated through recurring income; 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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="_832f215c_6f91_4f7f_b43f_cdeb3def460c"></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 12pt 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 12pt 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, 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, Southeast Asia and the U.S., 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 12pt 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 12pt 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 12pt 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 cybersecurity, privacy, data protection and informational security may materially and adversely affect our business, as we routinely collect, store and use data during the conduct of our business.&#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;">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 12pt 0pt;">On February 17, 2023, the China Securities Regulatory Commission (&#8220;CSRC&#8221;) 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><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 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 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, even if we are deemed as an existing issuer, and we 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, 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 12pt 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></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;text-indent:18pt;margin:0pt 0pt 12pt 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 0pt;">Pursuant to the Holding Foreign Companies Accountable Act, or the HFCAA, which was enacted on December 18, 2020 and further amended by the Consolidated Appropriations Act, 2023 signed into law on December 29, 2022, if the SEC determines that we have filed audit reports issued by a registered public accounting firm that has not been subject to inspection by the Public Company Accounting Oversight Board, or the PCAOB, and that we are a Commission-Identified Issuer under the HFCAA for two consecutive years, 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 12pt 0pt;">On December 16, 2021, the PCAOB issued a report to notify the SEC its determinations that it was unable to inspect or investigate completely PCAOB-registered public accounting firms headquartered in mainland China and Hong Kong. Our auditor, Deloitte Touche Tohmatsu Certified Public Accountants LLP, an independent registered public accounting firm located in China, was subject to that determination.</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 May 26, 2022, we were conclusively identified as a &#8220;Commission-Identified Issuer&#8221; under the HFCAA following the filing of our annual report on Form 20-F for the fiscal year ended December 31, 2021. On December 15, 2022, the PCAOB issued a report that vacated its previous determinations issued on December 16, 2021 and removed mainland China and Hong Kong from the list of jurisdictions where it is unable to inspect or investigate completely registered public accounting firms. Therefore, our auditor is currently able to be fully inspected and investigated by the PCAOB, with the last inspection in 2023. For this reason, we were not identified as a Commission-Identified Issuer under the HFCAA after we filed our annual report on Form 20-F for the fiscal year ended December 31, 2022, and do not expect to be so identified when we file this annual report on Form 20-F for the fiscal year ended December 31, 2023. 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></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;"><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. Should PRC authorities obstruct or otherwise fail to facilitate the PCAOB&#8217;s access in the future, the PCAOB Board will consider the need to issue a new determination. 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 U.S. if we are identified as a Commission-Identified Issuer for two consecutive years in the future. Furthermore, we cannot assure you whether Nasdaq or regulatory authorities would apply additional and more stringent criteria to us after considering the effectiveness of our auditor&#8217;s audit procedures and quality control procedures, adequacy of personnel and training, or sufficiency of resources, geographic reach or experience as it relates to the audit of our financial statements. In addition, any additional actions, proceedings, or new rules resulting from these efforts to increase U.S. regulatory access to audit information could create some uncertainty for investors, the market price of our ordinary shares could be adversely affected, and we could be delisted if we and our auditor are unable to meet the PCAOB inspection requirement or being required to engage a new audit firm, which would require significant expense and management time. The delisting or prohibition of trading of our common shares, or the threat of their being delisted or prohibited from trading, 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 or prohibition of trading of our common shares, or the threat of their being delisted or prohibited from trading, 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="_b7c62480_906a_47d0_88f9_ceec843e48e4"></a><a id="ITEM1IDENTITYOFDIRECTORSSENIORMANAGEMENT"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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="_a2b4f0fe_1663_4598_aea0_84c5776e230e"></a><a id="ITEM2OFFERSTATISTICSANDEXPECTEDTIMETABLE"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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;">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="_2639ce56_8cd6_462f_aaee_25b0d4075992"></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 12pt 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 12pt 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 12pt 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, 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, Southeast Asia and the U.S., 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Dividends paid by our PRC subsidiaries 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Failure to comply with governmental regulations and other legal obligations concerning cybersecurity, privacy, data protection and informational security 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></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 12pt 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 12pt 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></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 12pt 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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. </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, even if we are deemed as an existing issuer, and we 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, 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 12pt 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 cybersecurity, privacy, data protection and informational security 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 12pt 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 12pt 0pt;">We conduct operations in North America, South America, Europe, 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, Southeast Asia and the U.S. 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></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 12pt 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 12pt 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 Recurrent Energy business for a cash consideration of $19.2 million in 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;">Canadian Solar Inc. transferred an aggregate of $339.6 million, $187.5 million and $84.4 million of cash in the form of capital contributions and loans to our subsidiaries in 2021, 2022 and 2023, respectively. Canadian Solar Inc. further transferred an aggregate $206.9 million in 2021, and received an aggregate $11.0 million in 2022, of cash related to net working capital advances to subsidiaries. These transfers were made to our Recurrent Energy subsidiaries primarily for solar power and battery energy storage projects. Apart from these transfers to our Recurrent 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 energy 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 12pt 0pt;">Canadian Solar Inc. received an aggregate of $533.8 million, $172.6 million and $69.2 million of cash in 2021, 2022 and 2023, respectively, from repayment of loans by our Recurrent Energy subsidiaries. Canadian Solar Inc. further transferred $42.2 million in 2021 and received an aggregate $38.6 million in 2022, of cash related to net working capital payable to, or receivable from, our Recurrent Energy subsidiaries. There were no cash proceeds nor distribution received from PRC subsidiaries in 2021, 2022 and 2023. Canadian Solar Inc. received an aggregate of $49.6 million of cash related to a loan from a Recurrent 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 12pt 0pt;">In addition, we conduct regular procurement transactions with CSI Solar&#8217;s subsidiaries related to purchase of modules and battery energy storage solutions for our Recurrent Energy 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;">Prior to the completion of the carve-out IPO restructuring, CSI Solar paid a one-time dividend of RMB847.6 million ($123.5 million on the date of transaction) to Canadian Solar Inc. in 2020. This transaction was subjected to a 10% withholding income tax rate of RMB84.8 million ($12.4 million on the date of transaction) 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 12pt 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, 2023, these restricted net assets in the PRC amounted to $1,587.5 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></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;"><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 12pt 0pt;">Pursuant to the HFCAA, which was enacted on December 18, 2020 and further amended by the Consolidated Appropriations Act, 2023 signed into law on December 29, 2022, if the SEC determines that we have filed audit reports issued by a registered public accounting firm that has not been subject to inspection by the PCAOB, and that we are a Commission-Identified Issuer under the HFCAA for two consecutive years, 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 12pt 0pt;">On December 16, 2021, the PCAOB issued a report to notify the SEC its determinations that it was unable to inspect or investigate completely PCAOB-registered public accounting firms headquartered in mainland China and Hong Kong. Our auditor, Deloitte Touche Tohmatsu Certified Public Accountants LLP, an independent registered public accounting firm located in China, was subject to that determination.</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 May 26, 2022, we were conclusively identified as a &#8220;Commission-Identified Issuer&#8221; under the HFCAA following the filing of our annual report on Form 20-F for the fiscal year ended December 31, 2021. On December 15, 2022, the PCAOB issued a report that vacated its previous determinations issued on December 16, 2021 and removed mainland China and Hong Kong from the list of jurisdictions where it is unable to inspect or investigate completely registered public accounting firms. Therefore, our auditor is currently able to be fully inspected and investigated by the PCAOB, with the last inspection in 2023. For this reason, we were not identified as a Commission-Identified Issuer under the HFCAA after we filed our annual report on Form 20-F for the fiscal year ended December 31, 2022, and do not expect to be so identified when we file this annual report on Form 20-F for the fiscal year ended December 31, 2023. 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 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. Should PRC authorities obstruct or otherwise fail to facilitate the PCAOB&#8217;s access in the future, the PCAOB Board will consider the need to issue a new determination. 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 U.S. if we are identified as a Commission-Identified Issuer for two consecutive years in the future. Furthermore, we cannot assure you whether Nasdaq or regulatory authorities would apply additional and more stringent criteria to us after considering the effectiveness of our auditor&#8217;s audit procedures and quality control procedures, adequacy of personnel and training, or sufficiency of resources, geographic reach or experience as it relates to the audit of our financial statements. In addition, any additional actions, proceedings, or new rules resulting from these efforts to increase U.S. regulatory access to audit information could create some uncertainty for investors, the market price of our ordinary shares could be adversely affected, and we could be delisted if we and our auditor are unable to meet the PCAOB inspection requirement or being required to engage a new audit firm, which would require significant expense and management time. The delisting or prohibition of trading of our common shares, or the threat of their being delisted or prohibited from trading, 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 or prohibition of trading of our common shares, or the threat of their being delisted or prohibited from trading, 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:12pt;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:12pt;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></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;"><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;">C</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;">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><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;">D</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;">Risk Factors</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Summary of Risk Factors</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;">An investment in our common shares involves significant risks. Below is a summary of material risks we face, organized under relevant headings. These risks are discussed more fully in Item 3. Key Information&#8212;D. Risk Factors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Risks Related to Our Company and Our Industry</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;">Risks and uncertainties related to our company and industry include, but are not limited to, the following:</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;text-align:justify;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;">We may be adversely affected by volatile solar power and battery energy storage market and industry conditions; in particular, the demand for our solar power and battery energy storage products and services may decline, which may reduce our revenues and earnings;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">The operating results of our project development business within Recurrent Energy and the mix of revenues from our CSI Solar and Recurrent 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 power and battery energy 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></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 energy storage products and services, hamper our expansion and materially affect our results of operations;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Governments may revise, reduce or eliminate incentives and policy support schemes for solar and battery energy storage power, which could cause demand for our products to decline;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Developing and operating solar power and battery energy storage projects exposes us to risks different from those related to producing solar modules and battery energy storage products;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">We face a number of risks involving offtake contracts and project level financing arrangements, including failure or delay in entering into offtake contracts, 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 flows;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Oversupply of modules may cause substantial downward pressure on the prices of our products and reduce our revenues and earnings;</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;">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;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">We face risks associated with the marketing, distribution and sale of our solar power and battery energy storage products and services internationally;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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; 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 significant international operations expose us to a number of risks, including unfavorable political, regulatory, labor and tax conditions in the countries where we operate.</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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Risks Related to Doing Business in China</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 also subject to risks and uncertainties related to doing business in China, including, but are not limited to, the following:</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:10.8pt;padding:0pt;">&#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, which could harm our business;</span></td></tr></table><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:10.8pt;padding:0pt;">&#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: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:10.8pt;padding:0pt;">&#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: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:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">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; 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;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;">Failure to comply with governmental regulations and other legal obligations concerning cybersecurity, privacy, data protection and informational security 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><div style="margin-top:12pt;"></div><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;">Risks Related to 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 12pt 0pt;">In addition to the risks described above, we are subject to risks related to our common shares:</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:10.8pt;padding:0pt;">&#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 may issue additional common shares, other equity or equity-linked debt securities, which may materially and adversely affect the price of our common shares;</span></td></tr></table><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:10.8pt;padding:0pt;">&#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 market price for our common shares may be volatile;</span></td></tr></table><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:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">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 decline;</span></td></tr></table><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:10.8pt;padding:0pt;">&#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 articles contain certain provisions that could adversely affect the rights of holders of our common shares;</span></td></tr></table><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:10.8pt;padding:0pt;">&#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><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:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">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; 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;">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;"><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;">We may be classified as a passive foreign investment company, which could result in adverse United States federal income tax consequences to United States Holders of our common 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;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be adversely affected by volatile solar power and battery energy storage market and industry conditions; in particular, the demand for our solar power and battery energy storage products and services may decline, which may reduce our revenues and earnings.</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 affected by conditions in the solar power and battery energy storage market and industry. We believe that the solar power and battery energy storage market and industry may from time to time experience oversupply. When this occurs, many solar power and battery energy storage project developers, solar and battery energy storage system installers and solar power and battery energy storage product distributors that purchase solar power and battery energy storage products, including solar modules and battery energy storage solutions from manufacturers like us, may be adversely affected. When certain distributed generation markets experience higher than anticipated channel inventory levels, we may face more intense price competition from other manufacturers than usual, which may materially and adversely affect our financial results. Our shipments of solar modules increased in 2021, 2022 and 2023. The average selling prices for our solar modules have increased in 2021 and 2022, and decreased in 2023. If the supply of solar modules and battery energy storage solutions grows faster than demand and if governments reduce financial support for the industry and impose trade barriers for solar power and battery energy storage 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 12pt 0pt;">The solar power and battery energy storage market is still at a relatively early stage of development, and future demand for solar power and battery energy storage products and services is uncertain. Market data for the solar power and battery energy storage 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 and battery energy storage products and services in our largest end markets, including the U.S., Europe, Japan, China, Brazil, the U.K. and Australia, may not develop or may develop to a lesser extent than we anticipate. </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 currently pursuing battery energy storage opportunities, given their importance in enhancing the flexibility of intermittent renewable energy power systems and improving the reliability and resiliency of energy grid infrastructure. If demand in our key markets slows, competition intensifies, or we fail to capitalize on growth opportunities, our battery energy storage business may not grow as anticipated. While we are working to improve the cost and efficiency of our battery energy storage system manufacturing processes, there can be no assurance that we will be successful. External factors or unforeseen challenges may hinder our ability to achieve anticipated outcomes in the battery energy storage 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;">Many factors may affect the viability of solar power and battery energy storage technology and the demand for solar power and battery energy storage products, including:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the cost-effectiveness, performance and reliability of solar power and battery energy storage products and services, including our solar power and battery energy 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the availability of government incentives to support the development of the solar power and battery energy storage industry;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the availability and cost of capital, including long-term debt and tax equity, for solar power and battery energy storage projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">capital expenditures by end users of solar power and battery energy storage products and services, which tend to decrease when the economy slows; 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;">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;"><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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 and battery energy storage within the electric power industry and the broader energy industry.</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 12pt 0pt;">If solar power and battery energy storage technology is not suitable for widespread adoption or if sufficient demand for solar power and battery energy 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our future success depends partly on our ability to expand the development of our solar and battery energy storage pipelines 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 12pt 0pt;">Historically, our sales of modules, solar system kits, and other services have accounted for the majority of our net revenues. Going forward, we plan to increase our project development investment to create greater asset value and retain greater ownership of projects in selected markets. While we continue to monetize our current portfolio of solar power and battery energy storage projects in operation, we also intend to grow our Recurrent Energy business by developing and operating more solar power and battery energy 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 energy storage project development pipeline. The risks and uncertainties associated with our Recurrent Energy business, and our ability to expand our solar power and battery energy storage project development pipeline, include:</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;text-align:justify;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;">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 performance acceptance testing;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the need to raise significant additional funds to develop greenfield or purchase late stage solar power and battery energy 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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">failure to execute our project development pipeline expansion plan effectively; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the uncertainty of being able to sell the projects, receive full payment for them upon completion, or receive payment in a timely manner; 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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.</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 12pt 0pt;">If we are unable to successfully expand our Recurrent Energy business, in particular, progressing our projects from development to operational phase, and growing our solar and battery energy storage project development pipeline, we may be unable to expand our business, maintain our competitive position, improve our profitability and generate cash flows in excess of our capital 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;">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;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">The operating results of our project development business within Recurrent Energy and the mix of revenues from our CSI Solar and Recurrent 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 power and battery energy 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 12pt 0pt;">Our Recurrent Energy business develops, sells and/or operates and maintains solar power and battery energy storage projects primarily in the U.S., the EU, Brazil, the U.K., Japan, 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 operate our solar power or battery energy storage projects under PPAs, VPPAs or other contractual arrangements with utility companies or grid operators, or sell them to third party buyers. Revenues from our Recurrent Energy segment decreased by $302.6 million, or 26.9%, to $821.5 million for the year ended December 31, 2022 and then decreased by $323.9 million, or 39.4%, to $497.7 million for the year ended December 31, 2023. While Recurrent Energy&#8217;s business model was historically predominantly develop-to-sell, we have been adjusting its strategy to create greater asset value and retain greater ownership of projects in select markets to increase revenues generated through recurring income, such as power sales, operations and maintenance, and asset management income. For solar power and battery energy storage projects that we decide to sell, 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The operating results of our Recurrent 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 power and battery energy 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 12pt 0pt;">Further, the mix of revenues from our CSI Solar and Recurrent 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 12pt 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 energy 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 12pt 0pt;">Most solar power and battery energy storage projects, including our own, require financing for development and construction with a mixture of equity, third-party funding and tax equity financing. The cost of capital affects both the demand and price of solar power and battery energy storage systems. A high cost of capital may materially reduce the internal rate of return for solar power and battery energy storage projects and therefore put downward pressure on the prices of solar systems, solar modules and battery energy storage systems, which typically comprise a major part of the cost of solar power and battery energy storage projects. We intend to develop or acquire projects in the future that utilize tax equity financing. However, no assurance can be given that tax equity investors will be available or willing to provide financing on acceptable terms at the time of any such development or acquisition or that the tax incentives and benefits that are needed to make tax equity financing available will remain in place.</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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Furthermore, solar power and battery energy 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 power and battery energy 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 energy storage industry. Moreover, as a result of the effects of inflation in the global economy, certain governmental authorities responsible for administering monetary policy have increased 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 power and battery energy 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 and tax equity financing arrangements. Unfavorable credit and tax equity markets may impede our expansion plans and materially and adversely affect our results of operations. The cash flow of a solar power or battery energy storage project may be derived from long-term PPA and VPPA with public utilities, licensed suppliers, corporate offtakers and commercial, industrial or government end users, or contracts to provide capacity and ancillary services. Consequently, the availability and cost of funding solar power and battery energy storage projects is determined in part based on the perceived counterparty credit rating or 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 tax equity environment, we cannot make assurances that financial institutions will continue to offer funding to solar and battery energy storage project developers and owners 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 energy storage systems and potentially reduce the demand for solar modules and battery energy storage systems and/or reduce the average selling prices for solar modules and battery energy 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Governments may revise, reduce or eliminate incentives and policy support schemes for solar and battery energy storage power, which could cause demand for our products to decline.</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;">Historically, the market for on-grid applications, where solar power is sold under PPA or VPPA, depends largely on the availability and size of government subsidy programs and economic incentives. Government incentives vary by geographic market. Governments in many countries provided incentives in the form of tax credits, renewable portfolio standards, auctions for Contracts for Difference (&#8220;CfDs&#8221;), FIP, FIT, rebates and other incentives. These governments implemented mandates for end-users, owners, 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. In recent years, the cost of solar power and battery energy storage products 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 battery energy storage that will directly benefit the solar and battery energy storage industry.</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;">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 power and battery energy storage projects are expected to qualify for the PTCs or ITCs at least through the end of 2032. The IRA also offers an extra ten percent credit if the project is in an &#8220;energy community&#8221; and another ten percent credit if the project satisfies domestic content requirements, which will be set forth when the implementing regulations are finalized. In June 2023, the United States Internal Revenue Service, or IRS, issued temporary and proposed regulations related to applicable tax credit transferability and direct pay provisions of the Inflation Reduction Act. The final regulations became effective, and prior temporary regulations were replaced, beginning in May 2024. We view the enactment of the IRA as favorable for the overall business climate for solar and battery energy 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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 revised the Renewable Energy Directive, which entered into force on November 20, 2023, that may provide additional support for solar and battery energy storage development. 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. </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 that the near-term growth of the market partially depends on the availability and size of such government incentives. 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 12pt 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. Solar products have been and remain subject to antidumping and countervailing duty orders, as well as safeguard measures, in the U.S., the EU, and Canada, and the Company has defended its interests in administrative and judicial 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></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;margin:0pt 0pt 12pt 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 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 energy 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. Any failure to increase our revenue or to manage our costs as a result of continued inflationary pressures, would prevent us from achieving or maintaining profitability or cash flow at all or on a consistent basis. Further, as a result of global economic conditions, some governments may implement measures that reduce the incentives designed to benefit the solar power and battery energy storage industry. A decrease in solar power tariffs, price of capacity and ancillary services, or wholesale electricity in many markets placed downward pressure on the price of solar and battery energy 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 energy storage products and services. If we experience negative global economic and industry conditions and demand for solar power and battery energy storage projects and solar power and battery energy storage products and services weakens as a result, our business and 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 12pt 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 12pt 0pt;">The development and construction of solar power and battery energy 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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">securing 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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">receiving required land use, construction and operational permits and approvals;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">receiving 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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">obtaining transmission capacity, accurately estimating, and where possible mitigating, 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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">securing economically feasible cost 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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">avoiding or mitigating impacts to archaeological, historical or cultural resources, and/or protected or endangered species or habitats, migratory birds, wetlands or other water resources;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">negotiating tax incentives and property tax abatement, whenever applicable;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">negotiating satisfactory EPC or balance of plant agreements, and mitigating the solvency or financial conditions of our EPC contractors, suppliers 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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">obtaining equity, debt and tax equity financing; 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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></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 12pt 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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">failure in obtaining and complying with required governmental permits and approvals and the inability to renew or replace permits and approvals that expire or are terminated in a timely manner and on reasonable terms;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">disputes and potential challenges from local residents, environmental organizations, and others who may not support the project;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">unforeseen engineering problems, subsurface land conditions, construction delays, cost over-runs, labor, equipment and materials supply shortages or disruptions (including labor strikes);</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">failure to enter into offtake contracts or capacity and ancillary services contracts, 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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">additional complexities when conducting project development or construction activities in foreign jurisdictions, including compliance with applicable U.S. or local laws and customs; 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 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 12pt 0pt;">If we are unable to complete the development of a solar power and battery energy 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 offtake contracts, capacity and ancillary services contracts 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><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 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 energy 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 energy 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 profitability or our 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;">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;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Developing and operating solar power and battery energy storage projects exposes us to risks different from those related to producing solar modules and battery energy storage products.</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 development of solar power and battery energy 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 power and battery energy storage projects. 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 12pt 0pt;">In contrast to producing solar modules and battery energy storage products, developing solar power and battery energy 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 power and battery energy storage projects weakens or we are not able to successfully complete the performance acceptance testing due to technical difficulties, equipment failure, or adverse weather, and we are unable to sell our solar power and battery energy 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 12pt 0pt;">Our Recurrent Energy business also includes operating solar power and battery energy storage projects and selling electricity, capacity and ancillary services 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 energy storage, technological advancements and the failure of our power generation or battery energy storage 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 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. We also 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. 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">We face a number of risks involving offtake contracts 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 flows.</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 not be able to enter into offtake contracts, such as PPAs or VPPAs, or contracts for capacity and ancillary services, for our solar power and battery energy 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, but growing, pool of potential buyers for electricity generated and services provided by our solar power and battery energy storage 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 or VPPAs 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 offtake contracts, such as PPAs and VPPAs, or contracts for capacity and ancillary services for some of our solar power and battery energy storage projects or may not be able to renew or replace an expiring contract with another 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></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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The electric power generated by our solar power and battery energy storage projects will generally be sold under long-term PPAs or VPPAs with public utilities, licensed suppliers, corporate offtakers, and commercial, industrial or government end users, or contracts to provide capacity and ancillary services. Despite possible future alternatives, we expect a substantial number of our future projects to also have long-term PPAs, VPPAs or similar offtake arrangements such as FIP 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 or services 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 offtake contracts are subject to price adjustments over time. If the price under any of our offtake contracts 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. Certain of the offtake contracts 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 offtake contracts, 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 offtake contract is terminated or if certain operating thresholds or performance measures are not achieved within specified time periods. Certain of our offtake contracts 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 offtake contracts 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 12pt 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 earnings.</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;">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 increased to $0.28 per watt in 2021 and $0.30 per watt in 2022, and subsequently decreased to $0.23 per watt in 2023. Although we believe that there is a relative balance between capacity and demand at low prices due to industry concentration, 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><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, solar wafers and cells at reasonable costs if any of the above risks materialize. 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></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;margin:0pt 0pt 12pt 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 energy storage products, solar power and battery energy 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 12pt 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 12pt 0pt;">In the countries where we do business, the market for solar power and battery energy storage products, solar power and battery energy 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 energy storage technology, which could result in a significant reduction in the potential demand for our solar power and battery energy storage products, solar power and battery energy 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 12pt 0pt;">In our CSI Solar business (which includes sales of solar system kit, battery energy storage solutions, and other EPC, materials, components and services), we expect that our solar power and battery energy 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, place of origin, and other related matters. Any new regulations or policies pertaining to our solar power and battery energy 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 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 12pt 0pt;">In our Recurrent 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, reduced returns 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, for example, 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 regulations 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 or provision of capacity and ancillary services. An example of a potential change in law that could impact the company would be a repeal or amendment of the Inflation Reduction Act 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 12pt 0pt;">Regulatory changes in a jurisdiction where we are developing a solar and battery energy 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 12pt 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></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 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 12pt 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 share.</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 our CSI Solar business, we face intense competition from a large number of module 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 Tongwei Solar Co., Ltd., or Tongwei, and battery energy storage companies such as Tesla, Inc., or Tesla, Fluence Energy, Inc., or Fluence, and Sungrow Power Supply Co., Ltd, or Sungrow. Some of our competitors are developing or are currently producing products based on new solar module and battery energy 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. 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 12pt 0pt;">The demand and potential future growth for our battery energy storage solutions are dependent on a number of factors, including cost competitiveness, reliability and performance of our battery energy storage products. If we cannot manage our growth, then we may be unable to take advantage of market opportunities, execute our growth plan, or respond to competitive pressures. This could also result in increased costs, difficulties in introducing new products, or other operating challenges. </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, 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 energy 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In our Recurrent Energy business, we compete in a more diversified and complicated landscape since the commercial and regulatory environments for solar and battery energy 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 power and battery energy 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 power and battery energy storage projects, in any particular markets or in general.</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;">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;"><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 a global footprint and develop solar power and battery energy storage projects primarily in the U.S., the EU, the U.K., Brazil, Mexico, Chile, Colombia, Australia, Taiwan, Japan, China and Korea. 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 power and battery energy 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 12pt 0pt;">We also provide battery energy storage solutions, EPC, power services (O&amp;M or operations and maintenance) 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 12pt 0pt;">Our Recurrent Energy business also includes sale of electricity generation from operating portfolio, 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 energy 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, battery energy storage 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 prospects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 energy 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 12pt 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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">fluctuating sources of revenues;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">fluctuations in foreign currency exchange rates;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the difficulty of managing our sales channels effectively as we expand beyond distributors to include direct sales to systems integrators, end users and installers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the difficulty of managing the development, construction and sale of our solar power and battery energy 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 factors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the difficulties and costs of complying with the different commercial, legal and regulatory requirements in the overseas markets in which we operate;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">any inability to obtain, maintain or enforce intellectual property rights;</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;">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;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">any unanticipated changes in prevailing economic conditions and regulatory requirements; 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 countries.</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 12pt 0pt;">If we are unable to effectively manage these risks, our ability to expand our business abroad could 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 2021, the Americas contributed 43.2%, Asia contributed 40.5%, and Europe and other regions contributed 16.3% of our revenues. In 2022, the Americas contributed 37.4%, Asia contributed 36.7%, and Europe and other regions contributed 25.9% of our revenues. In 2023, the Americas contributed 34.4%, Asia contributed 41.0%, and Europe and other regions contributed 24.6% 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 12pt 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 12pt 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 capacities were 57.0 GW, 50.0 GW, 21.0 GW and 20.4 GW, respectively, as of December 31, 2023. We target to expand these annual capacities to be 61.0 GW, 55.7 GW, 50.0 GW and 50.4 GW, respectively, by December 31, 2024. Our battery energy storage manufacturing capacity was 10.0 GWh as of December 31, 2023. We target to expand our battery energy storage annual manufacturing capacity to 20.0 GWh by December 31, 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;">In January 2023, we entered into a multi-year 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 has commenced production 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;">In June 2023, we announced our plan to build a solar module production facility in Mesquite, Texas, with an annual output of 5 GW. The facility commenced production in late 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;">In July 2023, we entered into a multi-year investment agreement with the municipal government of Hohhot in Inner Mongolia, China, to invest in 20 GW of ingot, 40 GW of crucible, 10 GW of wafer, 10 GW of cell, 5 GW of module and 5 GW of ancillary products manufacturing capacities as the initial phase of the agreement. The ingot capacity is expected to commence production in the second half of 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;">In October 2023, we announced our plan to build a solar cell production facility in Jeffersonville, Indiana, with an annual output of 5 GW. The facility is expected to start production by the end of 2025.</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></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 12pt 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 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, for example, by pursuing Science and Technology Innovation Board (&#8220;STAR&#8221;) Listing or issuing preferred shares of our Recurrent Energy business, 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 operate.</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 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. </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, 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 and Qinghai provinces of China, Germany and Malaysia. 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. We will use our best effort to provide the requisite evidence to rebut the presumption of use of forced labor with respect to any of our products seized, excluded or detained due to the WRO or the UFLPA by the CBP. </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 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 15.5%, 17.5% and 17.3% of our total revenues in 2021, 2022 and 2023, respectively. If additional measures are imposed or other negotiated outcomes occur, our business, financial condition and results of operations could 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;">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. Additionally, the tensions and conflict affecting Israel and the Gaza Strip since October 2023, and the ongoing conflict in the Red Sea, are continuing, and their duration and outcome remain highly unpredictable.</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 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">The U.S. Department of Commerce&#8217;s antidumping and countervailing duty circumvention determinations 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 12pt 0pt;">Canadian Solar&#8217;s exports to the United States could be adversely impacted by (i) the U.S. Department of Commerce&#8217;s (the &#8220;USDOC&#8221;) affirmative final determinations in its circumvention investigations of crystalline silicon photovoltaic (&#8220;CSPV&#8221;) cells and modules products from Thailand and 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. As detailed herein, the circumvention-related risk is mitigated by the Group&#8217;s compliance with the USDOC&#8217;s various certification regimes.</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 USDOC rendered affirmative final determinations of circumvention with respect to CSPV products from Cambodia, Thailand, Malaysia, and Vietnam on August 17, 2023, and published these determinations on August 23, 2023. USDOC also made company-specific affirmative determinations with respect to several companies, including Canadian Solar International Limited (&#8220;CSIL&#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;">These circumvention proceedings began on February 8, 2022, when U.S. module producer Auxin Solar Inc. (&#8220;Auxin&#8221;) filed with the USDOC circumvention petitions on CSPV products from Southeast Asia. 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 circumvention inquiries on a country-wide basis with respect to all four countries. The USDOC selected CSIL as a mandatory respondent for individual investigation in the Thailand circumvention proceedings. The Group has defended 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 12pt 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 has found that (i) 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) is appropriate to prevent circumvention of AD/CVD duties. The USDOC&#8217;s investigation examined, 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 12pt 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 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 12pt 0pt;">In its August 17, 2023 affirmative final circumvention 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, 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 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 (including wafers).</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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In its final affirmative circumvention determinations, the USDOC 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As a result of USDOC&#8217;s final affirmative circumvention determinations, 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. This risk is mitigated, however, by the Group&#8217;s compliance with the USDOC&#8217;s various certification regimes.</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 circumvention final determinations and Solar Moratorium are both under appeal before the U.S. Court of International Trade (&#8220;CIT&#8221;). On October 20, 2023, CSIL and Canadian Solar Manufacturing (Thailand) Co., Ltd. (&#8220;THSM&#8221;) filed suit before the CIT challenging USDOC&#8217;s affirmative circumvention determination with respect to CSIL and Thailand. CSIL and THSM allege that the USDOC&#8217;s final determination is not supported by substantial evidence or otherwise in accordance with the law. Several other companies, including Auxin, have also filed suits challenging the legality of Commerce&#8217;s final circumvention determinations, as well as their application to imports of solar products from both Thailand and Vietnam. The CIT is unlikely to rule on the merits of these cases before 2025. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Separately, on December 29, 2023, Auxin and Concept Clean Energy, Inc. filed suit before the CIT challenging the USDOC&#8217;s implementation of the Solar Moratorium. Plaintiffs in this appeal seek the collection of AD/CVD duties that otherwise would have been waived pursuant to the Solar Moratorium. Canadian Solar (USA) Inc. (&#8220;CSUSA&#8221;) and CSIL, among other companies, have sought to intervene in this appeal on the side of the U.S. Government. The U.S. Department of Justice, CSUSA and CSIL, and other defendant-intervenors have asked the CIT to dismiss this case for lack of subject matter jurisdiction. It is unclear when the CIT will rule on these motions.</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, President Biden has 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. 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. In late 2023, the USITC conducted its second midterm review of the safeguard measure, issuing its monitoring report in February 2024. 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 12pt 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 12pt 0pt;">There is no guarantee that we will not become party to lawsuits from time to time. 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></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 12pt 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 12pt 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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the average selling prices of our solar power and battery energy storage products and services;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the availability and cost of solar cells and wafers from our suppliers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the rate and cost at which we are able to expand our internal production capacity and control our manufacturing costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the timing of completion of construction of our solar power and battery energy storage projects and related revenue recognition;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">changes in government incentive programs and regulations, particularly in our key and target markets;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the timing of successful completion of performance acceptance testing of our solar power and battery energy storage projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the loss of one or more key customers or the significant reduction or postponement of orders;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">changes in payments from power purchasers of solar power plants already in operation;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the availability and cost of external financing for on-grid and off-grid solar power and battery energy storage applications;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">acquisition, investment and offering costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">geopolitical turmoil and natural disasters within any of the countries in which we operate;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">fluctuations in electricity rates due to changes in fossil fuel prices or other factors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">allowances for credit losses;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">inventory write-downs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">impairment of property, plant and equipment, project assets, solar power and battery energy storage systems, and investments in affiliates;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">income taxes; 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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: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;">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;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 12pt 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 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 majority of our sales in 2021, 2022 and 2023 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 2021, 2022 and 2023 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, Euros and Thai baht. 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 foreign exchange loss of $47.2 million in 2021, and foreign exchange gain of $77.7 million and $30.6 million in 2022 and 2023, 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;">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><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 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 $22.8 million in 2021, and a loss on change in fair value of foreign currency derivative, net, of $40.5 million and $27.5 million in 2022 and 2023, respectively. 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 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;">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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">A change in our effective tax rate can have a significant adverse impact on 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 12pt 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 share-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 (&#8220;BEPS&#8221;) 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. We are monitoring the developments and we may be subject to the application of global minimum tax of 15% which is dependent on the implementation of Pillar 2 rules by the countries where we operate. 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 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 12pt 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 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 energy 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 energy storage systems and negatively impact the construction schedules of solar power and battery energy storage projects. Seasonal variations could adversely affect our results of operations and make them more volatile and unpredictable. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our future success depends partly on our ability to maintain and expand our solar products and battery energy storage 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 12pt 0pt;">Our future success depends partly on our ability to maintain and expand our solar products and battery energy storage 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. While we believe module 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 solar ingot, wafer and cell capacities and expand our battery storage energy capacity will achieve the expected benefits. Our ability to expand our solar products and battery energy storage production capacity is subject to risks and uncertainties, including:</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;text-align:justify;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;">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 all;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 vendors;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">diversion of significant management attention and other resources; 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;">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;"><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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></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 energy 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 12pt 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 energy 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 12pt 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. 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 12pt 0pt;">Our operations are capital intensive. We rely on financing from Chinese banks and proceeds from the IPO for a portion of our capital investments in new manufacturing capacity. 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 equity and 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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">general market conditions for financing activities by manufacturers of solar power and battery energy 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:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">economic, political and other conditions in the PRC and elsewhere.</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 12pt 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Development and construction of our solar power and battery energy storage projects may require us to obtain financing for our projects, including through project financing, green bonds, or other financing. 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 Recurrent Energy 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 power and battery energy 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 power and battery energy storage projects, develop and expand our manufacturing operations, 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></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;"><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 12pt 0pt;">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 could:</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;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">limit our flexibility in planning for or reacting to changes in our businesses and the industry in which we operate;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">place us at a competitive disadvantage compared with our competitors that have less debt;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">limit, along with the financial and other restrictive covenants of our indebtedness, among other things, our ability to borrow additional funds; 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></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 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;">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 12pt 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 12pt 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 12pt 0pt;">We require significant cash flow and funding to support our manufacturing 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, 2023, we had outstanding borrowings of $1,746 million, letters of credit of $142.5 million and short-term notes payable of $878.3 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 operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Cancellations of customer orders may make us unable to recoup any prepayments made to 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, cells and lithium iron phosphate battery 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, cells and lithium iron phosphate battery 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 operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Long-term supply agreements may make it difficult for us to adjust our 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 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 products decreases, yet our supply agreements require us to purchase more silicon wafers 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;">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 12pt 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 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;">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 bankrupt.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 key 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;">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. For example, in 2023, a significant portion of the silicon raw materials and wafers 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 12pt 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;">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;margin:0pt 0pt 12pt 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 12pt 0pt;">We are dependent on the continued supply of lithium iron phosphate battery cells for our battery 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 battery energy storage products. In 2022, we launched the SolBank, a lithium iron phosphate (LiFePO4) chemistry-based battery storage enclosure, specifically engineered for utility-scale applications. While we produce SolBank on fully automated, state-of-the-art production and testing facilities, we 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. Currently, global lithium available supply exceeds demand, resulting in the decreased price of lithium. 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 12pt 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 12pt 0pt;">As of December 31, 2023, we have facilities and offices in many countries and regions, including the U.S., Canada, the EU (which includes Germany, France, Italy, Greece, Netherlands, Poland and Spain), the U.K, China, Brazil, United Arab Emirates, South Africa, Japan, Australia, Singapore, Korea, Hong Kong, Taiwan, India, Indonesia, Thailand and Vietnam. We currently sell our products to a diverse customer base in various markets worldwide, including U.S., Canada, the EU, the U.K., China, Brazil, South Africa, Japan, Australia, India and Thailand. 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 12pt 0pt;">While the inflation rates in certain countries, e.g., China, have been relatively tame in recent years (0.9%, 2.0% and 0.2% in 2021, 2022 and 2023, 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 solar projects, experienced inflation rates of 50.9%, 94.8% and 211.4% in 2021, 2022 and 2023, respectively, according to Central Bank of Argentina. Brazil, a country where we operate solar project business and secure financing facility, experienced inflation rates of 10.1%, 5.8% and 4.6% in 2021, 2022 and 2023, 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 12pt 0pt;">Inflation could increase the costs of our material such as polysilicon, wafer, solar 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 remain high, particularly in the U.S. and Europe. We may not be able to adjust the pricing of our solar power and battery energy storage products or offtake contracts 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 offtake contracts 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 offtake contract terms by the purchasers of power under these contracts. As a result of rising inflation rates, 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. In addition, a high inflation environment would also have negative effects on the level of economic activity. For example, as a result of the effects of elevated inflation in the global economy, certain governmental authorities responsible for administering monetary policy have 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;">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 12pt 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 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 launched HJT module products in mid-2022 for high-end roof-top application. We have expanded TOPCon module product offering in 2023. 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may be subject to unexpected warranty and product quality expenses that could impose significant costs on us.</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 exposed to warranty claims in the normal course of business in the event that our products actually or allegedly fail to perform as expected, or that contain or is alleged to contain defects. From time to time, we experience warranty claims after we have shipped our products. In recent periods, we have further diversified and expanded our product offerings, which could potentially increase our warranty and product liability. </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: (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.</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 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 12pt 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 12pt 0pt;">We warrant our battery energy storage products for a specific amount of time against performance or manufacturing defects. The standard warranty is typically for an initial term of 1 to 5 years from the date of installation, and is accounted for as an assurance-type warranty, which provides a guarantee of quality, limited to specific usage parameters. The customers can separately purchase extended warranties and performance guarantees for up to 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 energy 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 energy 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></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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For solar power and battery energy 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As part of our Recurrent Energy business, before commissioning solar power and battery energy storage projects, we conduct performance testing to confirm that the projects meet the operational and capacity expectations set forth in the agreements with customers. 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.</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 historically entered into agreements with a group of insurance companies to back up a portion of our warranties. Under the terms of these insurance policies, which were designed to match the terms of our solar module product warranty policy, the insurance companies were 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. 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 business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may not continue to be successful in developing and maintaining a cost-effective 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 12pt 0pt;">Our solar module, cell, wafer and ingot total annual production capacities were 57.0 GW, 50.0 GW, 21.0 GW and 20.4 GW, respectively, as of December 31, 2023. 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 61.0 GW, 55.7 GW, 50.0 GW and 50.4 GW, respectively, by December 31, 2024, and we target to expand our battery energy storage annual manufacturing capacity to 20.0 GWh by December 31, 2024. 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 module, cell, wafer and ingot 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. </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 wafers and ingots 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 wafers and ingots ourselves. If our suppliers discontinue or reduce the supply of solar wafers and ingots to us, and we are not able to compensate for the loss or reduction by manufacturing our own solar 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">We must invest in research and development to achieve technology innovations and remain competitive.</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 provide solar power and battery energy storage solutions in a industry that is characterized by significant technological changes, frequent new product and technology introductions and enhancements. New technologies could make solar energy or battery storage solutions less profitable or even obsolete. We need to be able to identify emerging technologies and invest in research and development efforts accordingly. If we do not appropriately innovate and invest in new products and technologies, and be open to broadening the scope of our products and solutions, our solutions may become less desirable in the markets.</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 12pt 0pt;">Moreover, our investment in research and development may involve significant time, risks and uncertainties, including the risk that the expenses associated with these investments may affect our margins and results of operations and that such investments may not generate sufficient technological advantages relative to alternatives in the market, which would in turn impact our ability to offset the liabilities assumed and expenses associated with these investments. In 2022 and 2023, we invested $69.8 million and $100.8 million in our research and development, respectively. We believe that we must continue to invest a significant amount of time and resources in our technologies to maintain and improve our competitive position. If we do not achieve the benefits anticipated from these investments, or if the achievement of these benefits is delayed, our revenue and 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 12pt 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 12pt 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 0pt 12pt 0pt;">Problems in our manufacturing 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 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 cost.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 cause delays in our order fulfilment or increase our selling costs, which could adversely affect our results of operations and impede our 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;">Our shipping and handling expenses, included in selling and distribution expenses, is a significant component of our costs, and amounted to $316.4 million, $453.9 million and $237.9 million for the years ended December 31, 2021, 2022 and 2023, 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. Recently, the conflict in the Red Sea has affected the global shipping sector, resulting in increased shipping rates and longer shipping times. 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 supply-demand imbalance, 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 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, may impede our growth.</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;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">If we are unable to attract, train and retain technical 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 energy 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 12pt 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 12pt 0pt;">We sell a substantial portion of our solar module and battery energy storage products to a limited number of customers, including distributors, system integrators, project developers and installers/EPC companies. We sell solar power and battery energy 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, and commercial, industrial or government end users. Our top five customers by revenues collectively accounted for approximately 18.6%, 15.9% and 15.8% of our net revenues in 2021, 2022 and 2023, 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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">a significant customer&#8217;s financial difficulties or insolvency.</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 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 base.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 power and battery energy storage projects to additional 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 customers. As a result, there is a concentrated pool of potential buyers for electricity generated by our solar power and battery energy storage plants, which may restrict our ability to negotiate favorable terms under new offtake contracts and could impact our ability to find new customers for the electricity generated by our solar power plants and the capacity and ancillary services provided by our battery energy storage plants should these 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 offtake contracts 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 offtake contracts and could adversely affect electricity pricing available on the spot-market. If we cannot enter into offtake contracts or capacity and ancillary contracts on terms favorable to us, or at all, or if the purchaser under our offtake contracts or capacity and ancillary contracts were to exercise its curtailment or other rights to reduce purchases or payments under these contracts, our revenues, our decisions regarding development of additional projects and our ability to capitalize fully on a particular project&#8217;s potential in the Recurrent Energy business 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;">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;margin:0pt 0pt 12pt 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 energy storage product manufacturers, are exposed to risks associated with product liability claims if the use of our solar power and battery energy storage 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 reputation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Our founder, Dr. 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, 2024, Dr. Shawn Qu, our founder, Chairman, President and Chief Executive Officer, beneficially owned 13,892,216 common shares, or 21.0% 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 12pt 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 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 energy 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 energy 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 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. From time to time, we face patent infringement claims and other disputes, which are inherently uncertain. Although we have been able to resolve such claims and disputes in the past without leaving a material adverse effect on our financial position, we cannot guarantee that any ongoing or potential disputes, if resolved unfavorably to us, will not have a material 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 12pt 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 12pt 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. Beyond what is required by environmental laws and regulations, we have been taking measures to reduce the environmental impact of our business, including setting rolling 5-year targets to reduce manufacturing intensities on greenhouse gases (&#8220;GHGs&#8221;) emissions, energy and water consumption, and waste generation. 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></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 12pt 0pt;">Our solar power and battery energy 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 power and battery energy 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 Recurrent 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 12pt 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 12pt 0pt;">Greenhouse gases 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. At the 27th Conference to the Parties on the UN Framework Convention on Climate Change (&#8220;COP27&#8221;) in Sharm El-Sheik in November 2022, countries reiterated the agreements from COP26 and were called upon to accelerate efforts toward the phase out of inefficient fossil fuel subsidies. At the 28th Conference to the Parties on the UN Framework Convention on Climate Change (&#8220;COP28&#8221;), the parties signed onto an agreement to transition away from fossil fuels in energy systems while accelerating action in this decade to achieve net zero by 2050 and called on parties to contribute to the global effort to triple renewable energy capacity globally and double the global average annual rate of energy efficiency improvements by 2030. We are also obliged to comply with emerging regulations on climate disclosures, such as the climate disclosure rules published by the SEC on March 6, 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;">Since 2020, we have been proactively measuring the GHG emissions of our 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. Moreover, we anticipate the proportion of renewable energy in power grids to increase in the coming years due to the higher penetration of renewable energy. In addition, we joined the Science Based Targets initiatives (&#8220;SBTi&#8221;) in July 2023 and are committed to setting near-term and net-zero targets and decarbonizing our operations and value chain. 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 recommendations of the Task Force on Climate-Related Financial Disclosures (&#8220;TCFD&#8221;). We plan to make sustainability disclosures according to the International Sustainability Standards Board (&#8220;ISSB&#8221;) standards in the future, as TCFD disbanded in late 2023. These initiatives are expected to help reduce our exposure to future changes in policy related to climate change and GHG emissions. </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;">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 our revenues to be wholly derived from clean solar energy or battery energy storage business which helps grids absorb greater quantities of clean solar or wind energy. </p><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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On June 3, 2023, President Biden signed the Fiscal Responsibility Act of 2023 (&#8220;FRA&#8221;), into law, which includes amendments to the National Environmental Policy Act (&#8220;NEPA&#8221;) aimed at streamlining the environmental review process. The public comment period closed on September 29, 2023 and the final rule has not yet been published. Following the FRA, on July 31, 2023, the White House Council on Environmental Quality (&#8220;CEQ&#8221;), published proposed NEPA regulations to implement NEPA amendments that were part of the FRA, to revise prior NEPA regulations, and improve efficiency and effectiveness of the environmental review process. The CEQ is expected to issue final NEPA regulations to implement the FRA&#8217;s amendment and its final NEPA guidance for consideration of GHG emissions and climate change. The impact on us of these and future developments in NEPA regulation and guidance is not determinable at this time, especially with respect to those aspects of our solar power and battery energy storage projects that may require future federal approvals.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 0pt;">Public ESG and sustainability reporting is becoming more broadly expected by investors, shareholders and other stakeholders. 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 12pt 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. 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></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 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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 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, our supplier facilities, our supply chain generally, ports and other transportation infrastructure, and declining customer demand and 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 12pt 0pt;">Although the COVID-19 pandemic appears to have abated, its long-term effects on the global economy, including elevated inflation, continued to affect our business. Furthermore, should there be a resurgence of the COVID-19 or new variants of COVID-19 pandemic, or should another pandemic arise, this could further affect our business. Moreover, a prolonged outbreak of any health epidemic or other adverse public health developments could create significant macroeconomic uncertainty, volatility and disruption, which may adversely affect our business operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">We may not be successful in establishing our brand name in important markets.</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. In certain markets, our brand may not be as prominent as other more established solar power and battery energy 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;e-STORAGE&#8221;, &#8220;SolBank&#8221;, &#8220;EP Cube&#8221;, or any of our possible future brand names will gain acceptance among customers. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Failure to protect our intellectual property rights in connection with new solar power and battery energy 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 energy 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 29, 2024, we had 2,094 patents and 677 patent applications pending in the PRC. We have 14 U.S. patents, including 5 design patent, and 13 European patents, including 10 design patents. We have registered the &#8220;Canadian Solar&#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 29, 2024, we had 131 registered trademarks and 3 trademark applications pending in the PRC, and 158 registered trademarks and 18 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 energy 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;">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;margin:0pt 0pt 12pt 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 12pt 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. 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 12pt 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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 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 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;">We are also exposed to risks associated with product liability claims in the event that the use of our solar power and battery energy 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 us. </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 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 offtake contracts contain provisions that require us to pay liquidated damages if specified completion schedule requirements are not met, and these amounts could be significant.</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;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 facilities are covered by business interruption insurance, any significant damage or interruption to these facilities could still have a material and adverse effect on our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 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, 2023, 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Although we have completed the initial public offering of CSI Solar, 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 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 12pt 0pt;">Although the initial public offering and listing of CSI Solar (the &#8220;STAR Listing&#8221;) on the Science and Technology Innovation Board (the &#8220;STAR Market&#8221;) of the Shanghai Stock Exchange was completed on June 9, 2023, 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. Subsequent to the STAR Listing, CSI Solar has 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 China 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;">Since CSI Solar is listed in China, it is subject to the listing and securities law regime of the PRC, resulting 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 STAR Market 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&#8217;s shares on the STAR Market rather than purchasing our shares on the Nasdaq Global Select Market, resulting in reduction in demand for our shares, which could lead to a decrease in the market price of our shares.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Following the dilution of our ownership interest in CSI Solar after the STAR Listing, CSI Solar&#8217;s status as a publicly traded company that is controlled, but less than wholly owned, by us could have an adverse effect on us.</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 a result of the STAR Listing, our majority ownership interest in CSI Solar has been diluted. The minority interest in CSI Solar increased after the completion of the STAR Listing, and the interests in CSI Solar of these minority shareholders 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></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;">We retain majority ownership of CSI Solar by holding approximately 62.24% of CSI Solar&#8217;s shares after its STAR Listing. However, CSI Solar is managed by a separate board of directors and officers, and those directors and officers owe fiduciary duties to the various stakeholders of CSI Solar, including shareholders other than us. 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. After the completion of the STAR Listing, CSI Solar and our company are separately public reporting companies listed on the Shanghai Stock Exchange and the Nasdaq Global Select Market, respectively. Each of them is subject to separate and potentially inconsistent accounting standards (PRC GAAP for CSI Solar and U.S. GAAP for our company), as well as disclosure and other regulatory requirements. As a result, CSI Solar and our company will periodically disclose information in compliance with different laws and regulations. Differences may arise in their disclosures due to distinct and potentially inconsistent accounting standards and regulatory requirements, which may lead to confusion or uncertainty among investors in the publicly traded shares of one or both of these companies. </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, there might be certain additional requirements of the PRC law, including requirements from the CSRC, the Shanghai Stock Exchange or other relevant authorities, that 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><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 has become, and may in the future become more, complex. 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 may require us to commit substantial financial, operational and management resources.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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, we granted RSUs to our directors and a group of our key employees, which vested following completion of the STAR Listing (50% vested on the IPO date, followed by 25% vesting on each of the first and second anniversaries of the IPO). As such, these RSUs are considered performance-based share awards. As of January 31, 2024, 1,095,000 of such RSUs were unvested and outstanding. We recognized share-based compensation expenses of $47.0 million on our 2006 share incentive plan 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 subsidiary, CSI Solar, adopted an employee incentive plan in 2020 and utilized a limited liability partnership (&#8220;LLP&#8221;) as a vehicle to hold CSI Solar shares that were used under the plan. Eligible CSI Solar directors, employees and board members have collectively subscribed to equity interest in the partnership for an aggregate of RMB248 million ($36.3 million on the date of the transaction), for which the vesting conditions include the completion of the IPO and service period. We recognized share-based compensation expenses of $8.3 million on the CSI Solar employee incentive plan 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;">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></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 12pt 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 or prohibition of trading of our common shares, or the threat of their being delisted or prohibited from trading, 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 12pt 0pt;">Pursuant to the Holding Foreign Companies Accountable Act, or the HFCAA, which was enacted on December 18, 2020 and further amended by the Consolidated Appropriations Act, 2023 signed into law on December 29, 2022, if the SEC determines that we have filed audit reports issued by a registered public accounting firm that has not been subject to inspection by the Public Company Accounting Oversight Board, or the PCAOB, and that we are a Commission-Identified Issuer under the HFCAA for two consecutive years, 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 12pt 0pt;">On December 16, 2021, the PCAOB issued a report to notify the SEC its determinations that it was unable to inspect or investigate completely PCAOB-registered public accounting firms headquartered in mainland China and Hong Kong. Our auditor, Deloitte Touche Tohmatsu Certified Public Accountants LLP, an independent registered public accounting firm located in China, was subject to that determination.</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 May 26, 2022, we were conclusively identified as a &#8220;Commission-Identified Issuer&#8221; under the HFCAA following the filing of our annual report on Form 20-F for the fiscal year ended December 31, 2021. On December 15, 2022, the PCAOB issued a report that vacated its previous determinations issued on December 16, 2021 and removed mainland China and Hong Kong from the list of jurisdictions where it is unable to inspect or investigate completely registered public accounting firms. Therefore, our auditor is currently able to be fully inspected and investigated by the PCAOB, with the last inspection in 2023. For this reason, we were not identified as a Commission-Identified Issuer under the HFCAA after we filed our annual report on Form 20-F for the fiscal year ended December 31, 2022, and do not expect to be so identified when we file this annual report on Form 20-F for the fiscal year ended December 31, 2023. 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 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. Should PRC authorities obstruct or otherwise fail to facilitate the PCAOB&#8217;s access in the future, the PCAOB Board will consider the need to issue a new determination. 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 U.S. if we are identified as a Commission-Identified Issuer for two consecutive years in the future. Furthermore, we cannot assure you whether Nasdaq or regulatory authorities would apply additional and more stringent criteria to us after considering the effectiveness of our auditor&#8217;s audit procedures and quality control procedures, adequacy of personnel and training, or sufficiency of resources, geographic reach or experience as it relates to the audit of our financial statements. In addition, any additional actions, proceedings, or new rules resulting from these efforts to increase U.S. regulatory access to audit information could create some uncertainty for investors, the market price of our ordinary shares could be adversely affected, and we could be delisted if we and our auditor are unable to meet the PCAOB inspection requirement or being required to engage a new audit firm, which would require significant expense and management time. The delisting or prohibition of trading of our common shares, or the threat of their being delisted or prohibited from trading, 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;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;">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 12pt 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 12pt 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 12pt 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><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 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></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;margin:0pt 0pt 12pt 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 12pt 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 12pt 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. 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 12pt 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 12pt 0pt;">The Enterprise Income Tax Law, or the EIT Law, came into effect in China on January 1, 2008 and was amended on February 24, 2017 and December 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 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 National Development and Reform Commission of PRC (the &#8220;NDRC&#8221;), 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 12pt 0pt;">In 2023, certain of our PRC subsidiaries, namely Suzhou Sanysolar Materials Technology Co., Ltd, Changshu Tegu New Material Technology Co., Ltd, CSI New Energy Development (Suzhou) Co., Ltd, CSI Solar Technologies (JiaXing) Co., Ltd and Canadian Solar Photovoltaic Technology (Luoyang) Co., Ltd. are 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 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></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;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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;">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;"><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 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 12pt 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 12pt 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 12pt 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 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 12pt 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 12pt 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 12pt 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. Moreover, because these laws and regulations are subject to varying interpretations, their application in practice may evolve over time as new guidance becomes available. The new PRC Company Law, with effect from July 1, 2024, will affect many critical aspects of corporate establishment, operations and governance in China. This law also imposes greater personal liability for directors, supervisors and senior management. If we fail to address and comply with these regulations and any subsequent changes, we may be subject to penalty and our business may be harmed.</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;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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. A Foreign invested enterprise (&#8220;FIE&#8221;) 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 12pt 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 published 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 12pt 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 12pt 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 12pt 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></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;">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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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, even if we are deemed as an existing issuer, and we 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, 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;">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 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Failure to comply with governmental regulations and other legal obligations concerning cybersecurity, privacy, data protection and informational security 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 12pt 0pt;">We routinely collect, store and use data during our operations including but not limited to the demand and pricing of solar and battery energy storage products and electricity prices and forecasts, the location and capacity of our production facilities, 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. Collection, transmission, possession and use of data in conducting our business may subject us to legislative and regulatory burdens in China and other jurisdictions that could require notification of any data breach, restrict our use of such information, hinder our ability to acquire new customers or market to existing customers, and result in negative consequences including significant fines and 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;">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 12pt 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 12pt 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></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 12pt 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;">The Provisions on Promoting and Regulating Cross-border Data Flow, which were promulgated on March 22, 2024 and became effective, clarify the implementation of cross-border data transfer systems. These regulations require data processors to identify and declare important data according to relevant provisions. If a data processor has not been notified by relevant governmental authorities or if the data has not been publicly released as important data, the data processor is not required to undergo security assessment for important data. In order to provide further guidance and assistance to data processors in completing security assessments of outbound data transfer, the CAC released the Guide to Applications for Security Assessment of Outbound Data Transfers (Second Edition) on March 22, 2024, detailing the requirements for applying to the national cyberspace administration for a security assessment of outbound data transfer.</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><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, regulatory authorities in the U.S., the EU, Canada and elsewhere around the world have adopted or are considering a number of legislative and regulatory proposals concerning data protection. These legislative and regulatory proposals, if adopted, and the uncertain interpretations and application thereof could, in addition to the possibility of fines, result in an order requiring that we change our data practices and policies, which could have an adverse effect on our business and results of operations. For example, the European Union adopted the European Union General Data Protection Regulation, or the GDPR, which came into effect on May 25, 2018. The GDPR includes operational requirements for companies that receive or process personal data of residents of the European Economic Area, and establishes new requirements applicable to the processing of personal data, affords new data protection rights to individuals and imposes penalties for serious data breaches. Individuals also have a right to compensation under the GDPR for financial or non-financial losses. As we offer our products and services in European market, we are subject to provisions of the GDPR. For further example, the Province of Qu&#233;bec made amendments to Qu&#233;bec&#8217;s Act respecting the protection of personal information in the private sector, or the Qu&#233;bec Privacy Act, most amendments having come into force September 2022 and 2023 respectively, and the remaining set to come into force September 2024. The Qu&#233;bec Privacy Act establishes new requirements with respect to the collection, use, or disclosure of personal information for companies doing business involving the personal information of Qu&#233;bec residents, provides individuals the ability to take legal action (including collective action) against business that breach their rights, and establishes new administrative monetary penalties that may be imposed on companies that contravene the Act.</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 expect that compliance matters with respect to cybersecurity, privacy, data protection and informational security will receive greater attention and focus from legislators and regulators, both domestically and globally, as well as attract continued or greater public scrutiny and attention going forward, which could increase our compliance costs and subject us to heightened risks and challenges associated with data security and protection. Significant capital and other resources may be required to protect against information security breaches or to alleviate problems caused by such breaches or to comply with our cybersecurity, privacy and data protection policies or related legal obligations. The resources required may also increase over time as the methods used by hackers and others engaged in online criminal activities are increasingly sophisticated and constantly evolving. Any of our failure or perceived failure to prevent informational security breaches or to comply with cybersecurity, privacy and data protection policies or related legal requirements, or any security breach that results in the unauthorized release or transfer of personally identifiable information or other customer data, could cause our customers, suppliers and other business partners to lose trust in us and could expose us to legal claims.</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;margin:0pt 0pt 12pt 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 12pt 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 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 12pt 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 12pt 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, 2023, the market price of our common shares ranged from $1.95 to $67.39 per share. From January 1, 2023 to December 31, 2023, the market price of our common shares ranged from $17.82 to $45.29 per share. The closing market price of our common shares on December 31, 2023 was $26.23 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">changes in the economic performance or market valuations of other solar manufacturers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">changes in the volume or quality of our solar and battery energy 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">government incentives on manufacturing, renewable energy and battery energy storage projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">sales or anticipated sales of additional common shares;</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;">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;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">share repurchase program; 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></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 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 12pt 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 12pt 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, 2023, we had 66,158,741 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 RSUs or options to acquire our common shares become entitled to the underlying shares under the terms of their RSU awards or options. In 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. In 2020, we issued $230.0 million of convertible notes, and we may issue additional convertible notes that can be converted to our common shares in the future. 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 12pt 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 12pt 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 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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></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;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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, 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, Southeast Asia and the U.S., and have made certain investments in solar power and battery energy storage projects 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><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 12pt 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 12pt 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. An investor who is a United States person should consult its tax advisor regarding the potential application of these rules to its particular circumstances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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, 2023, though there can be no assurances in this regard. 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 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></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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Changes in the value of our assets and/or 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><a id="_bf3c843f_905c_4880_9ef4_71b4b90c33a3"></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 12pt 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:12pt;"></div><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. 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 12pt 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 12pt 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 12pt 0pt;">In June 2023, CSI Solar completed its IPO and its shares began trading on the Science and Technology Innovation Board (the &#8220;STAR&#8221;) of the Shanghai Stock Exchange (the &#8220;SSE&#8221;). In the STAR IPO, CSI Solar raised gross proceeds of RMB6.01 billion (approximately $842.6 million on the date of transaction) and issued 541,058,824 shares, representing 15% of shares outstanding immediately after the issuance, prior to the over-allotment option being exercised. In July 2023, the over-allotment option of the IPO was exercised in full, and CSI Solar raised additional gross proceeds of RMB0.9 billion (approximately $124.3 million on the date of transaction). CSI Solar issued an additional 81,158,500 shares to cover over-allotments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">After deducting the offering expenses of RMB277.9 million (approximately $39.0 million on the dates of transaction), the net proceeds from the IPO were RMB6.63 billion (approximately $927.9 million on the dates of transaction). The total shares issued by CSI Solar were 622,217,324, representing approximately 17% of the 3,688,217,324 shares outstanding after the IPO. As of the date of this annual report, we own a 62.24% equity interest in CSI Solar.</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;&#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 12pt 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></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 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:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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 energy storage solutions, and developer of utility-scale solar power and battery energy 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, Africa, the Middle East, Australia and Asia. Our business operations are divided into two business segments, namely CSI Solar and Recurrent Energy.</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;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;">Under CSI Solar, we design, develop and manufacture solar ingots, wafers, cells, modules and other solar power and battery energy storage products. We conduct our manufacturing operations in China, Southeast Asia and the U.S. 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. </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 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 energy 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 12pt 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 12pt 0pt;">As of December 31, 2023, we had:</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;text-align:justify;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;">57.5 GW of module total annual manufacturing capacity, approximately 10.9 GW of which is located in Southeast Asia, 2.0 GW of which is located in the U.S., 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">50.0 GW of cell total annual manufacturing capacity, approximately 12.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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">21.0 GW of wafer total annual 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 ingot total annual 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 12pt 0pt;">We target to expand our solar module, solar cell, wafer and ingot total annual manufacturing capacities to 61.0 GW, 55.7 GW, 50.0 GW and 50.4 GW, respectively, by December 31, 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;">&#8220;e-STORAGE&#8221; is CSI Solar&#8217;s utility-scale battery energy storage platform. e-STORAGE provides customers with competitive turnkey, integrated, utility-scale battery&#8239;energy storage solutions, including bankable, end-to-end, utility-scale, turnkey battery&#8239;energy storage system solutions across various applications. System performance is complemented with long-term service agreements, which include future battery capacity augmentation services and bring in long-term, stable 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;">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 12pt 0pt;">In 2022, we launched the SolBank, a lithium iron phosphate (&#8220;LiFePO4&#8221;) chemistry-based battery energy storage enclosure specifically engineered for utility-scale applications. In 2023, SolBank achieved over 5 MWh of usable energy capacity. 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 produce SolBank on fully automated, state-of-the-art production and testing 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;">In 2022, we launched our residential battery energy 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 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Recurrent 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 Recurrent Energy segment primarily comprises solar and battery energy storage project development and sale, power services (O&amp;M) and asset management services for operational projects and sale of electricity from our operating portfolio. Our expertise spans from sourcing land, interconnection agreements, structuring PPAs, and obtaining permits and other requirements. In April 2023, we announced the rebranding of our Global Energy subsidiaries as Recurrent Energy. Recurrent Energy, previously our North American utility-scale solar and battery energy storage project developer, since then encompassed 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 12pt 0pt;">While Recurrent Energy&#8217;s business model was historically predominantly develop-to-sell, we have been adjusting our strategy to create greater asset value and retain greater ownership of projects in select markets to increase revenues generated through recurring income, such as power sales, O&amp;M and asset management income. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 700W 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, 182 mm wafer, mono facial) and CS6R (108 half-cells, 182 mm wafer, mono facial). Our mainstream modules are designed for residential, commercial and utility applications, while our 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 12pt 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) gained 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. </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, we embarked on the development of N-type wafer-based modules with TOPCon technology. Our in-house TOPCon manufacturing capability is integrated from N-type ingot growth, wafering, cells to modules. We started to deliver our 182 mm and 210 mm cell based TOPCon modules in 2023. 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, 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 (565W-585W) and monofacial TOPHiKu6 (440W-590W) modules, and the 210 mm cell based bifacial TOPBiHiKu7 (630W-705W) modules. All certifications and reliability tests were completed in December 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;">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 12pt 0pt;">Our TOPCon modules have solidified our product and technology leadership and further increased customers&#8217; return on investment. Firstly, temperature coefficient of our TOPCon modules is low, 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 is lower compared to degradation of PERC modules under similar tests. Furthermore, the bifaciality of TOPCon bifacial modules can reach up to 85%, with a power gain of approximately 2% compared to PERC bifacial modules under similar field conditions.</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, motivated by the lower carbon footprint compared to aluminum frame modules, we developed a steel frame module based on (monofacial and bifacial) CS6W and CS7N for utility-scale markets. 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 12pt 0pt;">Driven by carbon neutrality goals, 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 launched our BIPV products 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;">In 2023, we developed and launched the new TOP(Bi)HiKu6 series of products based on 182 mm rectangular wafer size (&#8220;182R&#8221;). Compared with the original TOP(Bi)HiKu6 series modules, the power of the new series module has increased by approximately 5% from the prior series. With the new series module, the loading capability per container increased by approximately 8%, resulting in savings of transportation and logistics costs across the supply chain. Furthermore, from system LCOE cost point of view, the 182R TOPCon provides cost advantages compared to the 182 mm PERC and 182 mm TOPCon. There are 4 versions of new 182R series for different scenarios, with power up to 515W and efficiency up to 22.8% for residential and small commercial and industrial (&#8220;C&amp;I&#8221;) projects, and with power up to 620W and efficiency up to 23% for large scale C&amp;I projects as well as utility 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;">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 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Battery Energy 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 12pt 0pt;">Our utility-scale battery energy storage offering includes proprietary products, technology and integrated solutions focused on delivering high performance, safe and reliable battery energy storage solutions enabling utilities, independent power producers, and energy investors and users to achieve energy savings, while maintaining power reliability and resilience. Our battery energy storage solutions are utilized across various market sectors, including high voltage grid scale, commercial and industrial business, and residential homes. Battery energy 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 12pt 0pt;">Battery energy 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 energy 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 12pt 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 energy storage market, we are investing significantly into developing our own battery energy storage proprietary products, technologies, and manufacturing. For example, in 2021, we started designing and developing proprietary DC battery energy 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 energy storage enclosure specifically engineered for utility-scale applications, with up to 2.967 MWh of nameplate energy capacity for SolBank 1.0.</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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In December 2023, we launched the SolBank 3.0 products, with power up to 2.35 MW and capacity of 5 MWh. SolBank 3.0 seamlessly integrates high energy density cells, an advanced safety system, smart liquid cooling, and active balance system controls. Housed in a 20-ft container, SolBank 3.0 provides up to 45% increase in product-level capacity and up to 40% decrease in commissioning time, compared to its previous generation. SolBank 3.0 is equipped with a pack and electrical redundancy protection system, smart abnormal performance detection, multi-level fire alarm, and suppression protection, ensuring product safety. Additionally, the optimized thermal management system reduces auxiliary power consumption by up to 30% compared to the previous generation. SolBank 3.0&#8217;s flexible and modular design is compatible with different power conversion systems (PCS). </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 battery energy storage total annual manufacturing capacity for SolBank was 10.0 GWh in December 2023, and we plan to expand the total annual capacity to 20.0 GWh by December 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;">In 2022, we launched our residential battery energy 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 battery 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, with capacities ranging from 9.9 kWh to 19.9 kWh per EP Cube unit, up to 119.9 kWh for full system. </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;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 2023, 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 12pt 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 residential 5 kW and 7-9 kW inverters, C&amp;I 15-25 kW, 40-60 kW and C&amp;I 75-125 kW inverters, and the 320/350kW inverter series for utility-scale application. We provide inverters that match our module characteristics. Our large current matching capabilities, intelligent MPPT algorithm, temperature derating performance, and unique patented air duct and structure designs make our product one of the most competitive players among inverter manufacturers. In 2023, we sold our power electronic products primarily to customers in Brazil and China. We expect to introduce energy storage power converter products to the market in 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;"><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 12pt 0pt;">We provide EPC services in China to ground-mounted solar power and battery energy storage projects, as well as to large-scale distributed system projects for C&amp;I customers. Our EPC services are complete turnkey solutions 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;"><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;margin:0pt 0pt 12pt 0pt;">We have approximately 3.1 GWh of operating battery&#8239;energy storage projects contracted under long-term service agreements, all of which were battery energy storage projects previously executed by our e-STORAGE platform. </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 Recurrent 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;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar Power and Battery Energy Storage Asset Sales</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 develop, build and sell solar power and battery energy storage projects. Our Recurrent Energy business develops projects primarily in the U.S., the EU, U.K., Brazil, Mexico, Chile, Colombia, Australia, Taiwan, Japan, China and Korea. 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 12pt 0pt;">We have experienced continued pipeline expansion and strong project development. As of January 31, 2024, we had a total global solar pipeline of 27.3 GWp and a battery energy storage project development pipeline of 54.8 GWh.</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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We actively pursue suitable buyers for our solar power and battery energy storage projects. See &#8220;&#8212;Sales, Marketing and Customers&#8212;Recurrent Energy Segment&#8212;Solar Project Development&#8221; for a description of the status of our solar power and battery energy 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;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Electricity Revenue from Operating Portfolio</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 or VPPAs with public utilities, licensed suppliers, corporate offtakers, and commercial, industrial or government end users. As of January 31, 2024, we had a fleet of solar and battery energy storage plants in operation with an aggregate net capacity of approximately 1,005 MWp and 600 MWh, 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;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Power Services (O&amp;M)</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 2023, we provided power services through long-term operations and maintenance (O&amp;M) contracts, currently with 8.2 GW of contracted projects, primarily in North America, Europe, Japan, Australia and South Africa. Power 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 12pt 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 2023, 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 12pt 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 12pt 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 12pt 0pt;">Our CSI Solar segment depends on our ability to obtain a stable and cost-effective supply of polysilicon, solar ingots and wafers. 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 2023, we purchased all of our silicon raw materials used in our solar modules from third parties. From time to time, we have entered into long-term supply purchase agreements, primarily for silicon raw materials, especially in the period of the tight supply of upstream raw materials. We plan to continue to diversify our external polysilicon and wafer suppliers.</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 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 12pt 0pt;"><i style="font-style:italic;">Recurrent 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 and battery energy storage products used in our Recurrent 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></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;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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 12pt 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. 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;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 and wafers, decreased from $0.227 per watt in 2021 to $0.236 per watt in 2022, and decreased to $0.169 per watt in 2023. 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 12pt 0pt;"><i style="font-style:italic;">Recurrent 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;">We develop, construct, maintain, sell and/or operate solar power and battery energy storage projects in the U.S., the EU, U.K., Brazil, Mexico, Chile, Colombia, Australia, Taiwan, Japan, China and Korea. We engage in all aspects of the development and operation of solar power and battery energy storage projects, including project selection, design, permitting, engineering, procurement, construction, installation, monitoring, operation and maintenance. For the solar power and battery energy 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 12pt 0pt;">Our solar power and battery energy 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Market due diligence and site selection. </i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">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 power and battery energy 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 power and battery energy storage projects. As we consider undertaking new solar power and battery energy 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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;">. We either obtain the permits and approvals necessary for solar power and battery energy storage projects ourselves or we acquire projects that have already received the necessary permits and approvals. The permitting and approval process for solar power and battery energy storage projects varies from country to country and often from region to region within a country.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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;">. 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:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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 power and battery energy 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 energy storage system configuration. We generally use solar modules and battery energy storage products produced by CSI Solar, 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 12pt 0pt;">Currently, we have operating solar projects in the U.S., 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></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 12pt 0pt;">We operate a monitoring center in Guelph, Ontario, Canada, which adopts the global monitoring platform (&#8220;REView&#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 12pt 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 12pt 0pt;">We have registered our quality control system according to the requirements of ISO9001:2015 and IEC62941 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 12pt 0pt;">We also maintain various international and domestic certifications for our solar modules. For example, we have obtained IEC61215/ IEC61730 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, U.K. 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:2021 / IEC61730:2023, UL61730 Ed.2-2022 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, and our TOPCon modules are certified for solar tender under the Programmation Pluriannuelle de l&#8217;&#233;nergie (&#8220;PPE2&#8221;). For Korea market, we obtained carbon footprint certification issued by Korea New &amp; Renewable Energy Center, or KNREC, with competitive Grade 2 ranking in 2023, being one of the first module manufacturers outside of Korea to obtain this certification.</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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Our Power Conversion System (&#8220;PCS&#8221;) for storage has obtained GB/T34120/GB/T34133 certifications in China. We also maintained various certifications according to local business requirements for some of our PV inverters, including IEC62109/62116 safety certification and CQC certification in China, KSC 8565/8567 in Korea, RS097 in South Africa, 140/515 in Brazil and EN50549-1/EN50549-2/CEI0-21/CEI0-16/RD1699/NTS2.1/VDE4105/PPDS in Europe. Our other products are currently undergoing the necessary certification processes before entering the relevant markets. With these certifications in place, our PV inverters could meet grid connection requirements in most regions around the world.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Additionally, we maintain various certifications for SolBank, our proprietary DC battery storage systems, such as UL9540A thermal runaway certification, UL1973 and UL9540 safety certification in North America, GB/T36276 certification in China, and IEC62619 certification in Europe, Australia, Japan and South America. We are one of the first companies to complete modeling assessments in accordance with the NFPA69 fire safety regulations in the U.S. With these certifications, SolBank could be sold and applied in the global battery storage market.</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;margin:0pt 0pt 12pt 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;">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><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;">2023</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;"/></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;"> 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><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;"> 3,125,496</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;"> 41.0</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;"> 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><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,616,145</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;"> 34.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;"> 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><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,871,985</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;"> 24.6</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;"> 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><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,613,626</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><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;">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;">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 2021, 2022 and 2023, the top five customers of the CSI Solar segment by net revenues collectively accounted for approximately 14.0%, 13.0% and 13.4%, respectively, of our total net revenues. Sales to our largest customer in these years accounted for 3.9%, 4.9% and 3.5%, 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 12pt 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 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 12pt 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 12pt 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 12pt 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 expands.</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;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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. We significantly increased our total number of buying customers and achieved leading market share in North America, 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. In 2023, we launched our 1500Vdc 320KW string inverter and 1500Vdc 200KW string PCS products, and scaled our production capacity to 8 GW annually. By the end of 2023, our product power range spans from 5 KW to 350 KW, covering residential, commercial, and utility applications. We plan to further invest in research and development, and introduce more compatible, reliable and cost-effective products and solutions to the 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;">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 12pt 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 2023, we sold approximately 3.9 GW of system kits primarily 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 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Battery Energy 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 12pt 0pt;">We leverage our vast customer and supply chain network to offer competitive solutions for stand-alone battery energy storage offerings or &#8220;Photovoltaic + Storage&#8221; hybrid integrated solutions. We also continue to prioritize our R&amp;D and investments into battery energy storage product and technology development to further our advancement into downstream product, technology, and manufacturing as well as upstream project integrated battery energy storage solutions. As a result, we have developed our proprietary utility-scale battery energy storage solution, SolBank. 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, we have launched our own residential battery energy storage system, EP Cube, focusing on residential and small commercial battery energy storage installations of up to 119.9 kWh. With this solution, we expect generated solar power to 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, 2024, we had a total project turnkey pipeline of around 63 GWh, which includes both contracted and in-construction projects, as well as projects at different stages of the negotiation process. In addition, we had approximately 3.1 GWh of operating battery&#8239;energy storage projects contracted under long-term service agreements, all of which were battery energy storage projects previously executed by our e-STORAGE platform.</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, 2024, the contracted backlog, including contracted long-term service agreements, was $2.6 billion. These are signed orders with contractual obligations to customers, providing significant earnings visibility over a multi-year period.</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;">Recurrent 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;">We develop, construct, maintain, sell and/or operate solar power and battery energy storage plants primarily in the U.S., the EU, U.K., Brazil, Mexico, Chile, Colombia, Australia, Taiwan, Japan, China and Korea. We also provide power services (O&amp;M) and assets management services. We sell our projects to utilities, independent power producers, and energy investors. Customers for our power service (O&amp;M) and asset management services include solar project developers and owners.</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;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In order to continue to grow our Recurrent 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 12pt 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 12pt 0pt;">As of January 31, 2024, our total project pipeline was 27.3 GWp, consisting of 1.9 GWp in construction, 5.5 GWp of backlog, 4.6 GWp of advanced pipeline, and 15.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 12pt 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 power purchase agreements (&#8220;PPAs&#8221;). A significant portion of backlog projects are contracted (i.e., have secured a PPA or FIT), and the remaining have a reasonable assurance 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 12pt 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 Recurrent Energy 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.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: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.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;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:7.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;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;white-space:nowrap;width:7.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;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:7.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></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;padding-left:7.2pt;text-align:center;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Total Project Pipeline&#160;by&#160;Region as of January 31, 2024 (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.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: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.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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:7.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;">Advanced</b></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;white-space:nowrap;width:7.49%;margin:0pt;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.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:7.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Region</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: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.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;">Backlog</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:7.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;">Pipeline</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:7.49%;border-bottom:1px solid #000000;margin:0pt;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.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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;">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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">North America</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: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;"> 424</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.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 212</span></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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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,467</span></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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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,343</span></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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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,446</span></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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">EMEA</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: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;"> 51</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.76%;margin:0pt;padding:0pt;"><p style="font-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.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:7.76%;margin:0pt;padding:0pt;"><p style="font-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,361</span></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:7.49%;margin:0pt;padding:0pt;"><p style="font-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,203</span></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:7.76%;margin:0pt;padding:0pt;"><p style="font-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,915</span></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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Latin America</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: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;"> 1,188</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.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 867</span></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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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</span></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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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,954</span></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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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,092</span></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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Asia Pacific excluding Japan and China</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: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;"> &#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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 173</span></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:7.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 708</span></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:7.49%;margin:0pt;padding:0pt;"><p style="font-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,430</span></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:7.76%;margin:0pt;padding:0pt;"><p style="font-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,311</span></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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">China</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: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;"> 200</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.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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,845</span></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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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,260</span></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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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,305</span></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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Japan</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: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;"> 32</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.76%;border-bottom: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;"> 135</span></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:7.76%;border-bottom: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;"> 14</span></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:7.49%;border-bottom: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;"> 32</span></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:7.76%;border-bottom: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;"> 213</span></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;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Total</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: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;"><span style="white-space:pre-wrap;"> 1,895</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.76%;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;"> 5,532</span></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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.76%;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;"> 4,633</span></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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.49%;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;"> 15,222</span></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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.76%;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;"> 27,282</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;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><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;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Operating Solar Power and Battery Energy 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 12pt 0pt;">In addition to our project backlog, we had a portfolio of solar power plants in operation totaling around 1 GWp as of January 31, 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;">As of January 31, 2024, we had 600 MWh net of battery energy storage in operation, of which 280MWh represents a 20% equity interest in the 1,400 MWh Crimson battery energy 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;">Our total portfolio of power plants in operation as of January 31, 2024 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:29.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:1.85%;margin:0pt;padding:0pt;"><p 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:7.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><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="font-size:1pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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.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:12.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: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:7.58%;margin:0pt;padding:0pt;"><p 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:17.39%;margin:0pt;padding:0pt;"><p 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:7.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></tr><tr><td colspan="13" 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:29.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:1.85%;margin:0pt;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:7.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;">North</b></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:center;margin: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.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;">Latin</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;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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: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:7.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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:17.39%;margin:0pt;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:1.86%;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.25%;margin:0pt;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:29.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.85%;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:7.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;">America</b></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:8pt;text-align:right;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">America</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;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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: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:7.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;">China</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;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;">Japan and China</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;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;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:29.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar (MWp)</p></td><td style="vertical-align:bottom;width:1.85%;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.54%;background:#cceeff;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:1.86%;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.55%;background:#cceeff;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;"> 748</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;"> 59</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;background:#cceeff;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;"> 191</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.39%;background:#cceeff;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</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,005</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:29.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Battery Energy Storage (MWh)</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.54%;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;"> 280</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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.55%;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:1.86%;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:12.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;"> &#8212;</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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.58%;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;"> 300</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:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.39%;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;"> 20</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:right;margin:0pt;"><span style="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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 600</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></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;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Battery Energy Storage 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 12pt 0pt;">We have been actively developing utility-scale solar plus battery energy storage hybrid projects, as well as stand-alone battery energy storage projects. Since 2021, a large part of our projects under development includes the co-hosting of battery energy 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 energy storage energy load, we expect to significantly enhance the efficiency and the value of our battery energy 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 12pt 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 energy 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, 2024.</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.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: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.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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></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, 2024 (in MWp)</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:53.18%;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.31%;margin:0pt;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.31%;margin:0pt;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.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.64%;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.18%;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.31%;margin:0pt;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.31%;margin:0pt;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.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.18%;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;text-align:center;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.31%;border-bottom:1px solid #000000;margin:0pt;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.31%;border-bottom:1px solid #000000;margin:0pt;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.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.64%;border-bottom:1px solid #000000;margin:0pt;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.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: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:10pt;margin: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: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.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: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.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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.18%;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-size:8pt;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;"> 1,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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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,180</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.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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,284</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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,064</span></p></td></tr><tr><td style="vertical-align:bottom;width:53.18%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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: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;"> 110</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.31%;margin:0pt;padding:0pt;"><p style="font-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,943</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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 17,334</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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.64%;margin:0pt;padding:0pt;"><p style="font-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,387</span></p></td></tr><tr><td style="vertical-align:bottom;width:53.18%;background:#cceeff;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%;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: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;"> 965</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.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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,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;text-align:right;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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.23%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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,965</span></p></td></tr><tr><td style="vertical-align:bottom;width:53.18%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8</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;"> 440</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.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 400</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.31%;margin:0pt;padding:0pt;"><p style="font-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,240</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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.64%;margin:0pt;padding:0pt;"><p style="font-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,088</span></p></td></tr><tr><td style="vertical-align:bottom;width:53.18%;background:#cceeff;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%;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: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;"> 400</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.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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,500</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-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,900</span></p></td></tr><tr><td style="vertical-align:bottom;width:53.18%;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-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: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%;border-bottom: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.31%;border-bottom: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;"> 776</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.31%;border-bottom: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;"> 600</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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.64%;border-bottom: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,376</span></p></td></tr><tr><td style="vertical-align:bottom;width:53.18%;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;"><span style="white-space:pre-wrap;"> 408</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;border-bottom: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;"> 3,115</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.31%;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;"> 10,299</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.31%;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;"> 40,958</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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.64%;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;"> 54,780</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 0pt 12pt 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 12pt 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 12pt 0pt;">We warrant our battery energy storage products for a specific amount of time against performance or manufacturing defects. The standard warranty is typically for an initial term of 1 to 5 years from the date of installation, and is accounted for as an assurance-type warranty, which provides a guarantee of quality, limited to specific usage parameters. The customers can separately purchase extended warranties and performance guarantees for up to an additional 15 years. We have obtained warranties from our suppliers to back up a portion of our battery energy storage 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;">For solar power and battery energy storage projects built by us under EPC services, we provide major equipment warranty and 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 to five years following the energizing of the solar or battery storage 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As part of our energy business, before commissioning solar power and battery energy 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 12pt 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></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;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Historically, 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 12pt 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 12pt 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 12pt 0pt;">The market for solar power and battery energy 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 Tongwei. We compete with battery energy storage companies, such as Tesla, Fluence and Sungrow. 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 12pt 0pt;">We believe that the key competitive factors in the market for solar power and battery energy storage products include:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">price;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">value added features such as those that make solar power and battery energy 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 energy storage products.</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 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 power and battery energy 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 energy 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;">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;"><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;">Recurrent 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 Recurrent 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 energy storage project development, sale and operation vary significantly from region to region and country to country. While local policy frameworks on battery energy 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 12pt 0pt;">Our primary competitors are local and international developers and operators of solar power and battery energy storage projects. We believe the key competitive factors in the global solar and battery energy storage project development industry include:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">greenfield development capabilities; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">sizeable portfolio of solar and storage interconnections secured; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">globally diversified renewables portfolio; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">experienced technicians and executives who are familiar with the industry and the implementation of our business 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></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 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 12pt 0pt;">Currently, we develop and construct and, in limited cases, operate and maintain solar power and battery energy storage projects in various regions including the U.S., the EU, U.K., Brazil, Mexico, Chile, Colombia, Australia, Taiwan, Japan, China and Korea. 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 power and battery energy 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></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;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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 have been purchasing credit insurance from insurers, such as the China Export &amp; Credit Insurance Corporation and PICC Property and Casualty Company Limited, for certain of our accounts receivable trade in order to reduce our exposure to credit loss. 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 historically entered into agreements with a group of insurance companies 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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 power and battery energy 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, and some of our manufacturing operations are certified under ISO50001 energy management 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 12pt 0pt;">We have finished establishing our internal ISO14064:2018 Green House Gas quantification and reporting system under guidance of 3rd party Soci&#233;t&#233; G&#233;n&#233;rale de Surveillance (&#8220;SGS&#8221;), 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 12pt 0pt;">Our solar 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 1907/2006 concerning the Registration, Evaluation, Authorization and Restriction of Chemicals (&#8220;REACH&#8221;). Our solar 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 solar modules.</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 battery energy storage products have been designed to meet all applicable environmental regulations. We strictly require our suppliers to meet corresponding regulations. For example, the key components of our products, such as battery cells and air conditioning units, comply with RoHS and REACH. In July 2023, the EU published Regulation 2023/1542 regarding batteries and waste batteries. We are working closely with third party experts to actively evaluate and ensure that our products meet the latest requirements at every stage of their product life cycle.</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 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 energy 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 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;">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;"><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 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 on a per watt basis 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 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 12pt 0pt;">Furthermore, as one of the world&#8217;s largest solar and battery 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 energy 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 recommendations, and plan to follow ISSB standards as TCFD disbanded in late 2023. 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 rolling 5-year targets on environmental metrics to reduce the impacts.</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;">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 12pt 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:12pt;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 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:12pt;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 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 education courses and programs also help further develop our employees&#8217; expertise across disciplines and provide these employees with learning resources covering key business functions. In 2023, we designed and launched 16 courses on key workstreams, including courses on managers training on leading with trust, performance evaluation and conversations, solar and battery storage technologies, as well as key areas of our business, such as EPC, project financing, insurance, O&amp;M and high voltage connections. 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 and ISO14001 environmental management system, 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 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 power and battery energy storage projects into existing energy infrastructure and surrounding communities. </span></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;">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;"><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:12pt;"></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 June 2023, Canadian Solar joined the United Nations Global Compact (UNGC), the world&#8217;s largest corporate sustainability initiative. By joining the UNGC, we commit to supporting and adhering to the Ten Principles of the United Nations Global Compact on human rights, labor, environment, and anticorruption, and taking actions to contribute to the United Nations&#8217; Sustainable Development Goals (&#8220;UN SDGs&#8221;). As a clean renewable energy provider, Canadian Solar has been contributing to the achievement of UN SDGs, especially SDG 7 Affordable and Clean Energy and SDG 13 Climate Action. </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 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 12pt 0pt;">Canadian Solar submitted a commitment letter to SBTi in July 2023, indicating our intention to set the near-term and net-zero science-based climate targets to decarbonize our operations and value chain. The SBTi is a global body enabling businesses to set ambitious emissions reduction targets in line with the latest climate science. The SBTi&#8217;s goal is to accelerate companies across the world to support the global economy to halve emissions before 2030 and achieve net-zero before 2050. </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 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 on a per watt basis 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 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 12pt 0pt;">Furthermore, as one of the world&#8217;s largest solar power and battery energy storage project developers. We are committed to proactively protecting biodiversity and 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 energy 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 recommendations and plan to follow ISSB standards as TCFD disbanded in late 2023. 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></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;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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;">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;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 Ministry of Finance 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></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;"><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><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 2023, six government departments, including the NDRC and the NEA, jointly issued the Guiding Opinions on Promoting the Recycling of Decommissioned Wind Power and Photovoltaic Equipment. The Guiding Opinions states that the country will enhance the capacity for the recycling of resources, steadily promote the development of wind turbine and photovoltaic module remanufacturing industries. By 2030, the plan aims to establish a series of industrial agglomeration areas dedicated to the recycling of decommissioned wind power and photovoltaic equipment.</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 October 2023, the NDRC and other authorities issued the Measures for the Power Demand-Side Management (2023 Edition), which required an increase in the proportion of green electricity consumption in key regions such as Beijing-Tianjin-Hebei, the Yangtze River Delta, Guangdong, Hong Kong and Macao. It also prioritized the use of renewable electricity for new electricity generated through the implementation of electricity substitution to increase the level of utilization of renewable energy consumption.</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 December 2023, the NDRC issued the Catalogue for Guiding Industry Restructuring (2024 Version), which took effect on February 1, 2024. This Catalogue, as an important basis for guiding social investments and formulating government policies, focuses on high-tech industries and environmental priorities. The &#8220;encouraged&#8221; industries listed include silicon energy (crystalline silicon PV) materials, PV building integration components, solar PV cells, and solar PV equipment, among others.</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 12pt 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 12pt 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 2022, 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 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 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 12pt 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 12pt 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></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;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 12pt 18pt;"><i style="font-style:italic;">Administration of Foreign Invested Enterprises</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 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 from time to time. The most recent amendment to the Company Law was enacted on December 29, 2023, and it will take effect on July 1, 2024. The Company Law is applicable to our PRC subsidiaries unless PRC laws on foreign investment stipulate otherwise. The amended Company Law creates more rights and obligations as well as greater personal liability exposure for directors, supervisors and senior management of companies in China, such as compensation liability for directors and senior management, directors&#8217; obligation to call for contribution. Besides reiterating the duty of loyalty and care of directors, supervisors and senior management, the amended Company Law extends such fiduciary duties to the controlling shareholder or the de facto controller of a company who is not a director but executes company affairs. Also, shareholders of a company must fully pay in their subscribed registered capital within five years from the date of establishment of this company, and companies established before July 1, 2024 shall gradually adjust their capital contribution to meet this new requirement. Violation of the amended Company Law could lead to sanctions and penalties, such as fines and orders to correct.</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. In December 2019, the Regulation for Implementing the Foreign Investment Law of the People&#8217;s Republic of China was approved, which took effect on January 1, 2020 and replaced the Implementation Rules of the Wholly Foreign owned Enterprise Law. 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 0pt;">In 2023, certain of our PRC subsidiaries, namely Suzhou Sanysolar Materials Technology Co., Ltd, Changshu Tegu New Material Technology Co., Ltd, CSI New Energy Development (Suzhou) Co., Ltd, CSI Solar Technologies (JiaXing) Co., Ltd and Canadian Solar Photovoltaic Technology (Luoyang) Co., Ltd. are 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;">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 12pt 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 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) 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 the 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. 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 12pt 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 tax.</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 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 borne.</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 April 2018, Ministry of Finance and State Administration of Taxation jointly announced that as of May 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><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, Ministry of Finance, State Administration of Taxation and General Administration of Customs jointly announced that as of April 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 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 12pt 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 12pt 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 12pt 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 SAFE.</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;text-indent:18pt;margin:0pt 0pt 12pt 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 19, on March 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 9, 2016, SAFE issued the Circular on Reforming and Regulating Policies on the Control over Foreign Exchange Settlement of Capital Accounts, or Circular 16. Compared to Circular 19, Circular 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 parties).</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 13, 2015, SAFE promulgated the Circular on Further Simplifying and Improving the Policies Concerning Foreign Exchange Control on Direct Investment, or SAFE Circular No. 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 26, 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 flow.</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 October 23, 2019, SAFE issued the Circular on Further Promoting Cross-border Trade and Investment Facilitation, or SAFE Circular 28, which took effect on the same day. SAFE Circular 28, subject to certain conditions, allows foreign-invested enterprises whose business scope does not include investment, or non-investment foreign-invested enterprises, to use their capital funds to make equity investments in China. On December 4, 2023, SAFE issued the Circular of the State Administration of Foreign Exchange on Further Deepening Reforms to Facilitate Cross-Border Trade and Investment which established that domestic equity transferors (including institutions and individuals) can directly remit to the capital project settlement account the equity transfer consideration funds paid in foreign currency by domestic entities, as well as the foreign exchange funds raised by domestic enterprises listed overseas. The funds in the capital project settlement account can be independently settled and utilized.</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;">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 12pt 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 from time to time, with the most recent amendment enacted on December 29, 2023, taking effect on July 1, 2024. 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;">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;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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, 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, Southeast Asia and the U.S., 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 12pt 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 12pt 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></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;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 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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><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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 12pt 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:12pt;"></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:74.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.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:9.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.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:9.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:2.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-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.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;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.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;">Place&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;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.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;">Ownership</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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;">incorporation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.13%;border-bottom:1px solid #000000;margin:0pt;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.72%;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:74.77%;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.12%;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:9.12%;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.12%;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:9.13%;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;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.12%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Recurrent Energy, LLC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;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:9.12%;background:#cceeff;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.12%;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:9.13%;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;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Brasil I Fundo de Investimento em Participacoes &#8211; Multiestrategia</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Brazil</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Azuma Kofuji Daiichi Hatsudensho G.K.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;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:9.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;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:9.13%;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;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.12%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 62.24</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;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.12%;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:9.12%;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.12%;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:9.13%;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;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.12%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;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.12%;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:9.12%;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.12%;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:9.13%;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;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.12%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;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.12%;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:9.12%;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.12%;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:9.13%;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;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">CSI Modules (DaFeng) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.12%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Sunenergy (Jiaxing) Co. Ltd</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;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:9.12%;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.12%;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:9.13%;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;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">CSI Cells (Yancheng) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.12%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar Sunenergy (SuQian) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;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:9.12%;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.12%;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:9.13%;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;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">CSI Cells (SuQian) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.12%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">CSI Wafer (FuNing) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;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:9.12%;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.12%;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:9.13%;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;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">CSI Cells (Yangzhou) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.12%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;background:#cceeff;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.12%;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:9.12%;background:#cceeff;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.12%;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:9.13%;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;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar US Module Manufacturing Corporation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.12%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Canadian Solar EMEA GmbH</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;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:9.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;">Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;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:9.13%;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;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.12%;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.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;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:74.77%;background:#cceeff;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.12%;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:9.12%;background:#cceeff;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.12%;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:9.13%;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;">99.999996</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;background:#cceeff;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: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:12pt;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:12pt;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 62.24% ownership interest.</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:12pt;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:12pt;margin-top:0pt;text-align:justify;">Disposed of in May 2023.</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;"><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:12pt;"></div><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 is a summary of our material properties, including information on our manufacturing facilities, solar power systems 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">In the United States, Recurrent Energy, LLC and Canadian Solar (USA) Inc. lease a combined total of approximately 2,200 square meters of office space in Austin, Walnut Creek, New York City and San Francisco. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Canadian Solar Manufacturing (Luoyang) Inc. has obtained a land use right of a piece of land of approximately 35,000 square meters in Luoyang, Henan, on which we have built wafer manufacturing facilities of approximately 6,761 square meters under Phase I. The certificates for property ownership were granted in 2008. Additionally, in the same year, we acquired the land use right to an adjacent piece of land of approximately 80,000 square meters, on which we have built manufacturing facilities of approximately 30,000 square meters under Phase II. The certificates for property ownership were granted in 2013. Subsequently in 2016, we further obtained the land use right to another piece of land of approximately 160,000 square meters, on which we have constructed manufacturing facilities with a floor area of approximately 39,000 square meters under Phase III. The certificates for property ownership were granted in 2018.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Canadian Solar Sunenergy (Baotou) Co., Ltd. has obtained the land use right of a piece of land in Baotou, Inner Mongolia of approximately 224,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 commenced in 2017. Subsequently, we expanded the facility to include the production of mono ingots with a floor area of approximately 91,700 square meters. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">CSI Solar Technology (Xining) Co., Ltd. has obtained a land use right of a piece of land in Xining, Qinghai of approximately 200,000 square meters in 2021. The land use right certificate was granted in July 2021. We have built ingot production lines and supporting facilities on approximately 185,000 square meters of land under Phase I and II. The lines have been operating at full capacity since May 2023.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Canadian Solar Manufacturing (Changshu) Inc. has the land use right to two pieces of land of approximately 40,000 square meters and 180,000 square meters, respectively, in Changshu, Jiangsu, 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 the facilities. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">CSI Modules (DaFeng) Co., Ltd. obtained the land use right to a piece of land of approximately 200,000 square meters in Yancheng, Jiangsu in 2017. The module production facility of approximately 78,000 square meters under Phase I completed construction and production began in 2018. We obtained the certificate of property ownership for Phase I in January 2020. On the same piece of land, we have subsequently built manufacturing facilities with a total floor area of approximately 67,000 square meters under 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Canadian Solar Sunenergy (Jiaxing) Co. Ltd. obtained the land use right to a piece of land of approximately 165,000 square meters in Jiaxing, Zhejiang in 2018, on which we have built module manufacturing facilities with floor area of approximately 125,000 square meters under Phase I in 2020. We have further constructed module manufacturing facilities with floor area of approximately 104,014 square meters under Phase II by the end of 2023.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">CSI Cells (Yancheng) Co., Ltd. has obtained the land use right to a piece of land of approximately 134,000 square meters located in Yancheng, Jiangsu. The floor area of cell manufacturing facilities is approximately 63,000 square meters under Phase I. A part of the cell manufacturing facilities has completed construction and commenced operations in 2018, with the entire Phase I facilities commencing operations in 2019. In 2019, we further purchased an additional piece of land of approximately 64,000 square meters and obtained the land use right in 2020, on which we have built cell manufacturing facilities with a total floor area of approximately 59,000 square meters under Phase II. The entire Phase II facilities commenced operations in August 2022 and we have obtained the certificate of property ownership in October 2023.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Canadian Solar Sunenergy (SuQian) Co., Ltd. has leased approximately 183,000 square meters of module manufacturing facilities for a period of four years in Suqian, Jiangsu commencing from November 2020. The facility commenced full production by the end of 2023.</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;">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;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">CSI Cells (SuQian) Co., Ltd. has leased approximately 130,000 square meters of cell manufacturing facilities for a period of four years in Suqian, Jiangsu commencing from April 2023. The leased facilities completed equipment installation and started production in April 2023. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">CSI Wafer (FuNing) Co., Ltd. has leased three wafer manufacturing facilities in Funing, Jiangsu with a total floor area of approximately 24,000 square meters for a period of four years from April 2021. These leased facilities 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 under Phase I in Funing, Jiangsu since 2015. The land use right to approximately 23,000 square meters facilities has been acquired in December 2022. The remainder 4,000 square meters is expected to be transferred in 2024. In 2016, we obtained the land use right to another parcel of land of approximately 133,000 square meters, on which we have built cell manufacturing facilities with a total floor area of approximately 26,000 square meters under Phase II and Phase III. Commercial operations have commenced since then and we obtained the certificates for property ownership of Phase II and Phase III cell manufacturing facilities in 2018. In 2017, we obtained the land use right of approximately 34,000 square meters. On the newly acquired land, along with the previously acquired land, we have built Phase IV manufacturing facilities with a floor area of approximately 60,000 square meters and obtained the certificate of property ownership in March 2022, consolidating the land use right of Phase II and Phase III to approximately 167,000 square meters, with 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">CSI Cells (Yangzhou) Co., Ltd. has entered into an investment agreement with the municipal government of Yangzhou City, Jiangsu to produce 14 GW of annual wafer and cell capacity under Phase I of a three-phase plan in January 2023. We have leased approximately 247,000 square meters of cell manufacturing facilities for five years, and the production commenced in August 2023.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Canadian Solar US Module Manufacturing Corporation has entered into an agreement in 2023 to lease a building in Mesquite, Texas until December 2033, including manufacturing floor of approximately 59,000 square meters, mezzanine area of approximately 6,100 square meters and office area of approximately 4,600 square meters. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Canadian Solar Manufacturing (Thailand) Co., Ltd. has two lots land of 272.8 Rai (approximately 436,000 square meters) in Thailand, with the ownership certificates obtained. The first lot of approximately 179.3 Rai (approximately 287,000 square meters) is located in Chonburi Province, and houses cell manufacturing facilities under Phase I and II covering approximately 37,000 square meters and module manufacturing facilities under Phase I, II and III covering approximately 113,000 square meters. The Phase I cell facility was built, and production commenced in 2017, while the Phase II cell facility was completed, and production commenced in 2019. The Phase I module facility was built, and production commenced in 2016. The Phase II module facility started production in 2019, and the Phase III module facility began production in August 2023. The second lot of about 93.5 Rai (approximately 150,000 square meters) is located in Royong Province, and houses the cell manufacturing facility under Phase III covering approximately 27,000 square meters. The land was purchased in June 2022, subsequently constructed, with production commencing in August 2023.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">In Vietnam, Canadian Solar Manufacturing Vietnam Co., Ltd. has leased approximately 16,000 square meters of manufacturing facility in Haiphong City, Vietnam since 2015. The facility has been converted from module manufacturing to new material manufacturing (including EVA and junction box) since May 2023. The lease was renewed for three years commencing August 2018, then further renewed for another three years commencing August 2021. In July 2023, we leased approximately 1,800 square meters of additional space for the new material manufacturing facility. </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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 the United States, EU, Brazil, Argentina, Colombia and China, and most of our solar power systems were built or being constructed on leased land. Approximately 2,566 hectares of land were leased for these solar power systems, with lease term ending between 2037 and 2064.</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></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;"><a id="_a97aa973_1669_4a2b_886d_400ed7cfe432"></a><a id="ITEM4AUNRESOLVEDSTAFFCOMMENTS_703349"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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="_bd469212_9ab5_4f82_8941_c580afa956a7"></a><a id="ITEM5OPERATINGANDFINANCIALREVIEWANDPROSP"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 2021 and 2022 items and year-over-year comparisons between 2022 and 2021 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, 2022, that was filed with the Securities and Exchange Commission on April 18, 2023.</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:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">battery 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the availability of financing for solar power and battery energy 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">solar and battery energy 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 12pt 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 12pt 0pt;">In 2022, we generated 81.3% of our net revenues from our sales of solar power products. In 2023, we generated 87.0% of our net revenues from our sales of solar power products. 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 and supply for modules in the solar power market and increasingly by the total power and level of efficiency of the module. Higher-powered and higher efficiency modules usually command slightly higher prices per 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 2022, the average selling price of our standard solar modules was approximately $0.30 per watt. In 2023, it decreased to $0.23 per watt. We anticipate that the average selling price of our standard solar modules will likely continue to decrease.</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 12pt 0pt;"><i style="font-style:italic;">Costs of Silicon Raw Materials, Solar Ingots, and Wafers Relative to the Selling Prices of 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 do.</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;">Battery 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 12pt 0pt;">Our battery energy storage offering consists of utility-scale battery energy storage solutions and residential battery energy storage products. In 2022 and 2023, we generated $440.7 million and $245.2 million of our revenues from sales of battery energy storage products, respectively. In 2022 and 2023, we generated 5.9% and 3.2% of our net revenues from battery energy storage solutions, EPC services and products, 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;">Utility-scale battery energy storage solutions includes proprietary products, technology and integrated solutions focused on delivering high performance, safe and reliable battery energy 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 12pt 0pt;">EP Cube is our residential all-in-one battery 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 battery 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. Battery energy storage products with higher storage capacity and longer duration usually command slightly higher prices per watt-hour.</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;">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 12pt 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 IRA, signed into law on August 16, 2022. The IRA also offers an extra ten percent credit if the project is in an &#8220;energy community&#8221; and another ten percent credit if the project satisfies domestic content requirements, which will be set forth when the implementing regulations are finalized. In June 2023, the IRS issued temporary and proposed regulations related to applicable tax credit transferability and direct pay provisions of the IRA. 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 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 energy storage power, which could cause demand for our products to decline.&#8221; and &#8220;Item 4. Information on the Company&#8212;B. Business Overview&#8212;Sales, Marketing and 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;">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;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">The Availability of Financing for Solar Power and Battery Energy 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 12pt 0pt;">Most solar power and battery energy 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 power and battery energy storage projects and therefore put downward pressure on the prices of solar systems, solar modules and battery energy storage systems, which typically comprise a major part of the cost of solar power and battery energy storage projects. Furthermore, solar power and battery energy 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 power and battery energy 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 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 12pt 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 energy storage systems and potentially reduce the demand for solar modules and battery energy storage systems and/or reduce the average selling prices for solar modules and battery energy 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 power and battery energy storage projects and our customers&#8217; ability to finance the purchase of our products or to construct solar power and battery energy storage projects, see &#8220;Item 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 energy storage products and services, hamper our expansion and materially affect our results of operations.&#8221; </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;">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 12pt 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 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 and battery energy storage market and industry conditions; in particular, the demand for our solar power and battery energy 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 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 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, in the U.S. and certain countries, national or regional interconnection capacity are becoming more constrained and interconnection queue backlog are becoming longer. 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 energy 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 energy 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 12pt 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 12pt 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, or if our inventories become obsolete, or for which cost exceeds net realizable value, we need to record an impairment loss. We incurred impairment loss of $22.2 million for our property, plant and equipment, investments in affiliates, and project assets in 2023, and had inventory write-down of $113.1 million 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;">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 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 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 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 12pt 0pt;"><i style="font-style:italic;">Solar and Battery Energy 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 12pt 0pt;">Revenues generated from our Recurrent Energy segment accounted for 6.5% of our net revenues in 2023. The majority of these revenues came from solar and battery energy storage asset sales. While Recurrent Energy segment&#8217;s business model was historically predominantly develop-to-sell, we have been adjusting its strategy to create greater asset value and retain greater ownership of projects in select markets to increase revenues generated through recurring income, such as power sales, operations and maintenance, and asset management income.</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 revenues from the Recurrent Energy segment are affected by the timing of the completion and our timing and strategy of monetization of solar power and battery energy storage projects. See &#8220;Item 4. Information on the Company&#8212;B. Business Overview&#8212;Sales, Marketing and Customers&#8212;Recurrent Energy Segment&#8212;Solar Project Development&#8221; for a description of the development pipeline of our solar power and battery energy 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 energy storage project development and sale involve numerous risks and uncertainties. For a detailed discussion of these risks and uncertainties, see &#8220;Item 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 of our solar and battery energy storage pipelines in several key markets, which exposes us to a number of risks and uncertainties&#8221; and &#8220;Item 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 12pt 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 12pt 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, 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;margin:0pt 0pt 12pt 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 and solar wafers, 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, Euros and Thai baht. The majority of our cash and cash equivalents and restricted cash are denominated in Renminbi. 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></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;margin:0pt 0pt 12pt 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 12pt 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 us.</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 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 Recurrent Energy segment to avoid any potential competition between ourselves and our CSI Solar subsidiary, as part of the CSI Solar carve-out listing process. </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 report our financial performance, including revenue, gross profit and income from operations, based on the following two reportable business segments:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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 and battery energy storage manufacturing, and delivery of total system solutions, including inverters, solar system kits and EPC (engineering, procurement, and construction) services. CSI Solar&#8217;s e-STORAGE branded battery energy storage business includes its utility-scale turnkey battery energy system solutions, as well as a small but growing residential battery energy storage business. These battery energy 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 style="font-family:'Times New 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;">Recurrent Energy</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which is our clean energy project development platform with 15 years of experience delivering solar power and battery energy storage projects. It is vertically integrated and has strong expertise in greenfield origination, development, financing, execution, operations and maintenance, and asset management.</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 12pt 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 12pt 0pt;">Over the past three years, the COVID-19 pandemic posed significant challenges to many aspects of our business, including our operations, customers, suppliers and projects. On May 5, 2023, the World Health Organization announced that COVID-19 was no longer a public health emergency.</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 12pt 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 12pt 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 12pt 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 89.0% and 93.5% of our net revenues in 2022 and 2023, respectively. 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 energy 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></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;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 12pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Recurrent 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;">Revenues generated from our Recurrent Energy segment accounted for 11.0% and 6.5% of our net revenues in 2022 and 2023, respectively. Our revenues from our Recurrent Energy segment are affected primarily by the timing of the completion and our timing and strategy of monetization of solar power and battery energy storage projects. See &#8220;Item 4. Information on the Company&#8212;B. Business Overview&#8212;Sales, Marketing and Customers&#8212;Recurrent Energy Segment&#8212;Battery energy storage Project Development&#8221; for a description of the status of our solar power and battery energy 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;">Revenue recognition for our Recurrent 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 power and battery energy storage projects have been met. During 2023, our Recurrent Energy segment recognized $399.1 million of revenue from solar and battery energy storage asset sales. Our revenue recognition policies for solar and battery energy storage asset sales 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 12pt 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 12pt 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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">silicon wafers;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">materials used in inverters and battery energy storage production, such as insulated-gate bipolar transistors (&#8220;IGBT&#8221;) 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">warranty costs;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">overhead, including utilities, production equipment maintenance, and other support expenses associated with the manufacture of our solar power&#160;and battery energy storage products;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">solar power and battery energy storage 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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: (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.</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;">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;"><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 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 12pt 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 option.</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 our battery energy storage products for a specific amount of time against performance or manufacturing defects. The standard warranty is typically for an initial term of 1 to 5 years from the date of installation, and is accounted for as an assurance-type warranty, which provides a guarantee of quality, limited to specific usage parameters. The customers can separately purchase extended warranties and performance guarantees for up to an additional 15 years. We have obtained warranties from our suppliers to back up a portion of our battery energy storage 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;">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 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 could impose significant costs on us.&#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;">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 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;">We have historically entered into agreements with a group of insurance companies to back up a portion of our warranties on solar module products against defects. 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 amortizes them over the respective policy periods. See &#8220;&#8212;Critical Accounting Estimates&#8212;Warranties.&#8221; </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 12pt 18pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Recurrent 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;">The cost of revenues of our Recurrent Energy segment consists primarily of the costs of:</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;text-align:justify;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;">acquiring solar power and battery energy storage projects;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">acquiring and developing solar power and battery energy 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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">interest capitalized for solar power and battery energy storage projects during construction period;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">operating and maintaining solar power systems, including depreciation of solar power systems; 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></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 solar power and battery energy 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 power and battery energy storage projects. 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 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 power and battery energy 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.</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;">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;"><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;">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 energy storage products, our product mix, cost structure on firm purchase commitments under long-term supply agreements, our ability to cost-effectively manage our vertical integration of manufacturing capacity and supply chain, inventory write-down, tariffs, taxes and AD/CVD, the timing of completion of construction of our solar power and battery energy storage projects, the timing and pricing of project sales, 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 12pt 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 2022 and decreased in 2023. 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 12pt 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 0pt 12pt 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 2022 and decreased in 2023. We expect that as we increase our sales volumes in the 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 12pt 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 2022 and 2023.</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 12pt 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. Refer to &#8220;C. Research and Development&#8221; for further details of our research and development activities. In 2022 and 2023, our research and development expenses accounted for 0.9% and 1.3%, respectively, of our total net revenues. 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 12pt 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 weather-related project damages.</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;">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, our green bonds, and our convertible senior notes.</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;"><i style="font-style:italic;">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, Japanese yen 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 2022, we had a loss on the change in fair value of derivatives of $44.5 million, which included a $40.5 million unfavorable change in fair value of foreign currency derivatives, net, and a $4.0 million loss in change in fair value of commodity hedge. In 2023, we had a loss on the change in fair value of derivatives of $27.5 million, related to unfavorable change in fair value of foreign currency derivatives, net.</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;">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 12pt 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 12pt 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 2022 and 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;">PRC enterprise income tax is calculated based on taxable income determined under PRC accounting principles with a uniform enterprise income tax rate of 25%. In 2023, certain of our PRC subsidiaries, namely Suzhou Sanysolar Materials Technology Co., Ltd, Changshu Tegu New Material Technology Co., Ltd, CSI New Energy Development (Suzhou) Co., Ltd, CSI Solar Technologies (JiaXing) Co., Ltd and Canadian Solar Photovoltaic Technology (Luoyang) Co., Ltd. are 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 12pt 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 dividends have their sources within the PRC. As of December 31, 2023, we provided $5.4 million of withholding income tax for undistributed earnings of foreign subsidiaries in 2023 on the basis of expected future distribution plan. </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;">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 12pt 0pt;">Under our 2006 share incentive plan, as of December 31, 2023, we had outstanding:</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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">26,291&#160;stock options;</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;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;text-align:justify;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;">116,500&#160;restricted shares; and</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><span style="font-size:10pt;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;text-align:justify;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;">1,660,182 restricted share units.</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 12pt 0pt;">Our subsidiary, CSI Solar, adopted an employee incentive plan in 2020 and utilized an LLP as a vehicle to hold CSI Solar shares that were used under the plan. Eligible CSI Solar directors, employees and board members collectively subscribed to equity interest in the partnership for an aggregate of RMB248 million ($36.3 million on the date of transaction), for which the vesting conditions include the completion of the IPO and service 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;">For a description of the stock options, restricted share units and restricted shares granted, including the exercise prices and vesting periods, see &#8220;Item 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 awards, and is recognized at the occurrence of certain contingent events for performance-based equity awards.</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;"><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 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 12pt 0pt;">For the year ended December 31, 2023, we recorded share-based compensation expenses of $55.3 million, primarily from the vesting of RSUs upon completion of the CSI Solar IPO and the CSI Solar employee incentive plan, compared to $9.4 million for the year ended December 31, 2022. 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 or who participated in the CSI Solar employee incentive plan. </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.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: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: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.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: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.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.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:7.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.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:60.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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 colspan="7" style="vertical-align:bottom;white-space:nowrap;width:36.18%;border-bottom:1px solid #000000;margin:0pt;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.79%;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.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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 colspan="3" style="vertical-align:bottom;white-space:nowrap;width:16.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><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.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;">2023</b></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:8pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="10" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:60.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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 colspan="7" style="vertical-align:bottom;white-space:nowrap;width:36.18%;margin:0pt;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.79%;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.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Share&#8209;based compensation expenses included in:</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;">&#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.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;&#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="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.22%;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.79%;margin:0pt;padding:0pt;"><p style="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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,046</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;">&#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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11.1</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.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;"><span style="white-space:pre-wrap;"> 1,021</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 1.8</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;">%</p></td></tr><tr><td style="vertical-align:bottom;width:60.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Selling and distribution expenses</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;">&#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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,285</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;">&#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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 24.4</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.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;"><span style="white-space:pre-wrap;"> 1,011</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 1.8</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;">%</p></td></tr><tr><td style="vertical-align:bottom;width:60.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">General and administrative expenses</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;">&#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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,429</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;">&#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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 58.0</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.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;"><span style="white-space:pre-wrap;"> 52,985</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 95.8</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;">%</p></td></tr><tr><td style="vertical-align:bottom;width:60.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Research and development expenses</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;">&#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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 610</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;">&#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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6.5</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.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;"><span style="white-space:pre-wrap;"> 318</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 0.6</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;">%</p></td></tr><tr><td style="vertical-align:bottom;width:60.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.79%;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 3pt 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.79%;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 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: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.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;"><b style="font-weight:bold;white-space:pre-wrap;"> 55,335</b></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;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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.79%;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 our share-based compensation to trend lower yearly for the year ending December 31, 2024, consequent to the vesting of restricted share units and CSI Solar employee incentive plan upon the IPO of CSI Solar in 2023. However, we expect incurring additional share-based compensation expenses in the future as we expand our operations and once CSI Solar adopts its own equity incentive plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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(am) 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;">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 12pt 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;">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;">&#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;">2023</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;"/></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;"> 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: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,613,626</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;"> 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: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;"> 93.4</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;"> 7,230,550</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;"> 95.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;">Recurrent 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;"> 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: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;"> 11.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;"> 497,653</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;"> 6.5</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;"> (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: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.4)</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;"> (114,577)</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.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;">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;"> 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: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;"> 83.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;"> 6,333,643</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.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;">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;"> 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: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;"> 78.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;"> 6,121,332</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;"> 80.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;">Recurrent 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;"> 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: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;"> 8.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;"> 292,926</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;"> 3.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;"> (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: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;"> (3.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;"> (80,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;"><span style="white-space:pre-wrap;"> (1.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;">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;"> 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: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;"> 16.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;"> 1,279,983</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.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;">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;"> 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: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;"> 15.4</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,109,218</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;"> 14.6</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;">Recurrent 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;"> 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: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.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;"> 204,727</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.7</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;"> (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: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;"> (33,962)</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.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;">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;"> 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: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.5</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;"> 369,670</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.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;">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;"> 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: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;"> 4.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;"> 440,488</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;"> 5.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;">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;"> 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: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.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;"> 100,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: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.3</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;"> (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: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;"> (84,339)</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.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;">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;"> 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: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.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;"> 826,663</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;"> 10.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;">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;"> 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: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;"> 4.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;"> 453,320</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;"> 6.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;">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;"> (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: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.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;"><span style="white-space:pre-wrap;"> (114,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: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.5)</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;"> 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: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.5</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;"> 51,621</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.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 0pt 0pt 6pt;">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;"><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: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.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;"><span style="white-space:pre-wrap;"> (27,504)</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.4)</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, 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 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: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.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;"> 30,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;"> 0.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;">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;"> 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: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;">0.0</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;"> 14,632</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.2</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 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: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;">0.0</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;"> (44,795)</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;">(0.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;">%</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;"> 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: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;"> 4.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;"> 408,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;"> 5.4</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;"> (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: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;"><span style="white-space:pre-wrap;"> (59,501)</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.8)</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;"> 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: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.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;"> 14,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: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;"> 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: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;"> 4.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;"> 363,634</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.8</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;"> 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: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.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;"> 89,447</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;"> 1.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 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;"> 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: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;"> 3.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;"> 274,187</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.6</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></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;"><a id="_Hlk98789598"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Year Ended December&#160;31, 2023 Compared to Year Ended December&#160;31, 2022 </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;">Net Revenues.</i>Our total net revenues increased $145.0 million, or 1.9%, from $7,468.6 million in 2022 to $7,613.6 million in 2023. The increase was due to higher solar module shipments recognized in revenue from 21.1 GW to 30.7 GW, an increased contribution from electricity revenue from operating portfolio, and EPC and other revenues, partially offset by a decrease in sales of solar and battery energy storage assets and lower revenue from battery energy storage solutions as we transitioned to our own proprietary products. Revenue contribution from Americas region decreased 6.4% from $2,793.6 million in 2022 to $2,616.1 million in 2023 mainly due to lower sales to the U.S., Asia region increased 14.1% from $2,739.8 million in 2022 to $3,125.5 million in 2023 with expansion in Japan and China, and Europe and others region decreased 3.3% from $1,935.2 million in 2022 to $1,872.0 million in 2023 mainly due to lower sales to Australia.</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 style="font-family:'Times New 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;">. Revenues increased by 3.7% from $6,975.6 million in 2022 to $7,230.6 million in 2023. Solar modules revenues were $5,744.8 million in 2022 and $6,001.1 million in 2023, representing a 4.5% increase. This increase was comprised of a 12.1% favorable effect from the increase in shipment volume, offset by a 7.6% unfavorable effect from the decline in the average selling price of our solar modules. Our solar system kits revenues increased by 26.2%, from $538.2 million in 2022 to $679.4 million in 2023.</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 12pt 28.8pt;">Our battery energy storage solutions revenues decreased 52.6% from $524.5 million in 2022 to $248.6 million in 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 28.8pt;">Within our solar module shipments, which increased by 45.6% to 30.7 GW, 0.3 GW and 0.7 GW represented sales to Recurrent Energy segment in 2023 and 2022, respectively. Shipments to the Americas region increased by 2.6 GW to 8.6 GW for 2023, up from 6.0 GW in 2022. Shipments to Asia region increased by 4.4 GW to 14.1 GW for 2023, compared to 9.7 GW in 2022. Shipments to Europe and other regions increased by 2.6 GW to 8.0 GW for 2023, from 5.4 GW in 2022. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 28.8pt;">The average selling price of our solar modules decreased from $0.30 per watt in 2022 to $0.23 per watt in 2023. This decline reflected the pricing environment for modules in response to lower raw material costs.</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 style="font-family:'Times New 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;">Recurrent Energy Segment</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. Revenues decreased by $323.8 million, or 39.4%, from $821.5 million in 2022 to $497.7 million in 2023. The decrease in sales of solar and battery energy storage project revenues was due to the adjustment of our strategy from develop-to-sell to create greater asset value and retain greater ownership of projects in select markets to increase revenues generated through recurring income.</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 12pt 0pt;"><i style="font-style:italic;">Cost of Revenues. </i>Our total cost of revenues increased $128.1 million, or 2.1%, from $6,205.5 million in 2022 to $6,333.6 million in 2023. The increase was primarily due to higher solar module shipments and inventory write-down, partially offset by lower raw material and supply chain costs in our manufacturing operations. Total cost of revenues as a percentage of total net revenues increased from 83.1% in 2022 to 83.2% in 2023.</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 style="font-family:'Times New 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;">. Cost of revenues increased by $296.4 million, or 5.1%, from $5,824.9 million in 2022 to $6,121.3 million in 2023 as shipment volume increased. During 2023, cost of polysilicon and lithium continued to decline. Our manufacturing cost efficiency further improved as our manufacturing integration accelerated. Our monthly average module manufacturing cost in China, including purchased polysilicon and wafers, decreased to $0.169 per watt in 2023 from $0.236 per watt in 2022. We recorded $113.1 million of inventory write-down in 2023 to reflect lowered net realizable value of our inventories, which was recorded as cost of revenues.</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 12pt 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 and battery energy storage products 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 $406.3 million in 2022, primarily through cash flows generated from operations, but also with short-term borrowings, as needed. Working capital for inventories decreased by $182.8 million in 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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, wafer and lithium cell suppliers in order to secure a stable supply of materials to meet our production requirements.</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 12pt 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 modules and battery energy storage products could significantly delay the shipment of our solar modules and battery energy storage 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 key suppliers.&#8221;</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 style="font-family:'Times New 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;">Recurrent Energy Segment</i><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">. &#160;</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Cost of revenues decreased by $367.3 million, or 55.6%, from $660.2 million in 2022 to $292.9 million in 2023. The decrease corresponded to the $362.6 million decrease in sales of solar and battery storage asset sales.</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 12pt 0pt;"><i style="font-style:italic;">Gross Profit. &#160;</i>Our total gross profit increased by $16.9 million, from $1,263.1 million in 2022 to $1,280.0 million in 2023, representing a gross margin decrease from 16.9% in 2022 to 16.8% in 2023.</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;text-align:justify;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;"><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 decreased by $41.6 million, from $1,150.8 million in 2022 to $1,109.2 million in 2023, representing a gross margin decrease from 16.5% in 2022 to 15.3% in 2023. The decrease in gross profit and gross margin were due to a decrease in solar module ASP and inventory write-down, partially offset by lowered manufacturing costs.</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 style="font-family:'Times New 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;">Recurrent Energy Segment</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">. Gross profit increased by $43.4 million, from $161.4 million in 2022 to $204.7 million in 2023, Gross margin increased from 19.6% in 2022 to 41.1% in 2023 due to a higher proportion of high-margin project sales in Japan and lowered contribution of project sales in other regions.</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 12pt 0pt;"><i style="font-style:italic;">Operating Expenses.</i> &#160;Our operating expenses decreased by $80.4 million, or 8.9%, from $907.1 million in 2022 to $826.7 million in 2023, driven by a decrease in our selling and distribution expenses. Operating expenses as a percentage of our total net revenues decreased to 10.9% in 2023 from 12.1% in 2022 as we benefited from lower shipping and handling expenses and a 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 12pt 0pt;"><i style="font-style:italic;">Selling and Distribution Expenses.</i> &#160;The decrease of $189.3 million, or 33.9%, was primarily due to a decrease of $215.9 million in shipping and handling expenses, contributed by lower transportation costs, partially offset by an increase of $23.6 million in payroll expenses and an increase of $5.7 million in marketing expenses. Selling and distribution expenses as a percentage of our net total revenues decreased from 7.5% in 2022 to 4.9% 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;"><i style="font-style:italic;">General and Administrative Expenses. &#160;</i>The increase of $98.4 million, or 28.7%, was primarily due to an increase of $55.7 million in personnel cost, an increase of $47.8 million in share-based compensation expenses, primarily from the vesting of RSUs upon completion of the CSI Solar IPO and the CSI Solar employee incentive plan, an increase of $43.0 million for a legal matter, partially offset by a decrease of $54.4 million in property, plant and equipment impairment charges. General and administrative expenses as a percentage of our total net revenues increased from 4.6% in 2022 to 5.8% 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;"><i style="font-style:italic;">Research and Development Expenses. &#160;</i>The increase of $31.0 million, or 44.4%, was due to increased research and development activities during 2023. Research and development expenses as a percentage of our total net revenues were 0.9% in 2022 and 1.3% in 2023, respectively. 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 12pt 0pt;"><i style="font-style:italic;">Other Operating Income, Net. &#160;</i>Our other operating income, net, increased by $20.5 million, or 32.2%, from $63.8 million in 2022 to $84.3 million in 2023. The increase was mainly due to an increase of $19.7 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 12pt 0pt;"><i style="font-style:italic;">Interest Expense, Net.</i> &#160;Our interest expense, net, increased $28.8 million, or 85.7%, in 2023. Interest expense increased by $39.8 million, or 53.6%, in 2023 as we increased our borrowings and experienced higher interest rates, particularly in U.S. dollar and Brazilian reals denominated debts. Our debt balance, including our green bonds and convertible notes, increased to $3,460.2 million as of December 31, 2023 compared to $2,514.8 million as of December 31, 2022. Interest income increased by $11.0 million, or 27.1%, from $40.6 million in 2022 to $51.6 million in 2023. Our interest income increased as a result of the increase in our cash and cash equivalent and restricted cash balance to $2,946.4 million as of December 31, 2023, from $1,969.5 million as of December 31, 2022, partially offset by the absence of a $19.6 million interest benefit generated by the anti-dumping and countervailing duty deposit refunds 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;">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 12pt 0pt;"><i style="font-style:italic;">Loss on Change in Fair Value of Derivatives, Net. &#160;</i>We recorded a loss of $44.5 million and $27.5 million on change in fair value of derivatives in 2022 and 2023, respectively. The loss recorded in 2023 was due to a $27.5 million unfavorable change in fair value of foreign currency derivatives, net, , primarily from the weaker Renminbi and Japanese yen environment. The loss recorded in 2022 was due to a $40.5 million unfavorable 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.</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;">Foreign Exchange Gain, net. &#160;</i>We recorded a foreign exchange gain of $77.7 million and $30.6 million in 2022 and 2023, respectively. The gains were primarily due to the effect of a weaker Renminbi, for which we incurred a significant portion of our manufacturing costs, and a weaker Japanese yen in 2023, and a stronger U.S. dollar 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;"><i style="font-style:italic;">Investment Income, net. </i>We recorded higher investment income of $14.6 million in 2023 compared to $0.9 million in 2022. The increase was primarily due to fair value increase of our investments in China.</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;">Income Tax Expense. &#160;</i>We recognized an income tax expense of $59.5 million in 2023, compared to an income tax expense of $73.3 million in 2022. Our effective tax rate decreased in 2023 compared to 2022 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 12pt 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 $14.6 million in 2022 and 2023, 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;"><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 and certain of our project companies in Japan and Mexico. We recorded a higher net income attributable to non-controlling interests of $89.4 million in 2023 compared to $58.6 million in 2022, as we reduced our share of ownership of CSI Solar by holding 62.24% of CSI Solar&#8217;s shares after its STAR Listing in 2023.</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;">B</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;">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 12pt 0pt;">As of December 31, 2023, we had $1,938.7 million in cash and cash equivalents and $1,007.7 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 and convertible notes repurchases, as well as debt repayments. Our long-term capital expenditures funding requirement may contemplate significant manufacturing expansion plans and investments to accelerate and to expand our product technology. We 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 12pt 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-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In July 2020, we announced our plan to carve-out and publicly list our subsidiary, CSI Solar in China. To qualify CSI Solar for the planned carve-out IPO and to bring in leading institutional investors and strategic partners (&#8220;third-party investors&#8221;), we completed a capital raise in 2020 by transferring a portion of CSI Solar shares to third-party investors for an aggregate consideration of RMB1.50 billion (approximately $219.0 million on the date of transaction) and selected employees also purchased existing CSI Solar shares from us for an aggregated consideration of RMB31.0 million (approximately $4.5 million on the date of transaction), following which, the third-party investors and employees, in aggregate, owned 20.4% of CSI Solar as of December 31, 2022. Our wholly-owned global project development business, Recurrent Energy segment, is not a part of the IPO 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;">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;"><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, CSI Solar approved an employee incentive plan and utilized a limited liability partnership (&#8220;LLP&#8221;) as a vehicle to hold CSI Solar shares that were used under the employee incentive plan. Eligible CSI Solar directors, employees and board members collectively subscribed to equity interest in the LLP for an aggregate of RMB248 million ($36.3 million on the date of the transaction), for which the vesting conditions include the completion of the IPO and service 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;">On June 9, 2023, CSI Solar Co., Ltd. completed its IPO and its shares began trading on the Science and Technology Innovation Board (the &#8220;STAR Market&#8221;) of the Shanghai Stock Exchange (the &#8220;SSE&#8221;). In the STAR IPO, CSI Solar raised proceeds of $927.9 million, net of transaction costs. Upon completion of the IPO and as of December 31, 2023, we owned 62.24% of the outstanding CSI Solar 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;">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 12pt 0pt;">We intend to expand and upgrade our production capacity to meet expected growth in demand for our solar modules and battery energy storage products, and remain competitive in production technology. We target to expand solar module, cell, wafer and ingot total annual production capacities to be 61.0 GW, 55.7 GW, 50.0 GW and 50.4 GW, respectively, by December 31, 2024, and we target to expand our battery energy storage annual manufacturing capacity to 20.0 GWh by December 31, 2024. 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 $318.8 million and $326.0 million of prepayments to certain suppliers as of December 31, 2022 and 2023, 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 $334.9 million to $445.0 million as of December 31, 2022 and 2023, 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 Recurrent Energy business requires significant investment in solar power and battery energy storage systems and project assets, and investment in affiliates related to such assets. Furthermore, our focus on growing our base of recurring income, such as power sales, O&amp;M, and asset management income, and our development pipeline of solar power and battery energy storage projects is expected to require additional investments and working capital, until the projects reach commercial operations. The development cycles of our solar power and battery energy 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 operation or sale 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. Recurrent 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 power and battery energy storage systems and project assets are insufficient to satisfy our cash requirements, we may need to seek additional equity or debt financing, or decrease our 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 project assets could also impact our liquidity.</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 2024, Recurrent Energy B.V., our subsidiary, entered into a purchase and sale agreement with GRP IV UK Holdco Limited (a Climate Infrastructure business fund by BlackRock, Inc., or &#8220;BlackRock&#8221;) to issue Series A convertible redeemable preferred shares of Recurrent Energy B.V. Under the purchase and sale agreement, BlackRock will invest $500 million in two tranches, representing 20% of its voting rights on an as-converted basis, subject to regulatory approvals and certain terms and conditions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 0pt;">As of February 29, 2024, we had contractual credit facilities of approximately $5,366.3 million, of which approximately $2,334.3 million has been drawn under borrowings and $448.4 million has been drawn under arrangements with banks including bank guarantees, letters of credit and short-term notes payable, and approximately $2,583.6 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 12pt 0pt;">As of February 29, 2024, we also had uncommitted credit facilities of approximately $2,755.2 million, of which approximately $1,013.4 million has been drawn under borrowings and $342.3 million has been drawn under arrangements with banks including bank guarantees, letters of credit and short-term notes payable. </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;">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;"><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 February 29, 2024, we had approximately short-term borrowings of $1,702.8 million, non-recourse borrowings &#8211; current of $243.7 million, long-term borrowings of $1,176.0 million, and long-term non-recourse borrowings of $225.2 million. We enter into non-recourse financing that is designed to limit cross-default risk to us. Non-recourse debt under our Recurrent Energy business was approximately $468.9 million as of February 29, 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;">The long-term borrowings will mature during the period from the first quarter of 2025 to the third quarter of 2047. The long-term borrowings on project assets &#8211; current, have maturity dates ranging from the third quarter of 2025 to the first quarter of 2039, which are reclassified as current liabilities because these borrowings are associated with certain solar power and battery energy storage projects that are expected to be sold by February 2025. Our long-term borrowings bear a weighted average interest rate of 6.4% as of February 29, 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;">The short-term borrowings will mature during the period from the first quarter of 2024 to the first quarter of 2025. Our short-term borrowings bear a weighted average interest rate of 3.9% as of February 29, 2024. 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 12pt 0pt;">In 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 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.1 billion ($88.2 million). In 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 2022, we 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) secured by a pledge of equity interest in CSIF. In 2023, we amended the tranche 1 loan facility to JPY6.3 billion ($44.3 million), with maturity unchanged at September 2024. In January 2024, we amended the tranche 2 loan facility to JPY3.0 billion ($20.4 million), with maturity unchanged at September 2024. As of February 29, 2024, both tranche 1 and tranche 2 loan facility 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 12pt 0pt;">In 2020, we executed a $75.0 million development loan with Nomura Securities International, Inc (&#8220;Nomura&#8221;). In November 2021, the syndicated facility was renewed with Nomura at an expanded amount of $125.0 million and was set to mature in December 2023. In November 2023, the maturity of syndicated facility was extended for another two years to November 2025. The outstanding credit facility is secured by certain project assets in the U.S., and is guaranteed by us. As of February 29, 2024, 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 12pt 0pt;">In 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 12pt 0pt;">In 2021, we obtained a JPY24.5 billion ($230.8 million) project finance loan facility with Nomura Capital Investment Co., Ltd. acting as lead arranger and other participating financial institutions to construct our 100 MWp Azuma Kofuji project in Japan. The loan, secured by the project, was assumed by a buyer in connection with the sale of the project in May 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;">In 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, 2024, $25.6 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 $48.5 million as of February 29, 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;">In 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. In 2022, we obtained additional term loan facility of &#8364;45.0 million ($48.3 million). The facility will mature in May 2024. As of February 29, 2024, the two term loan facilities and the revolving credit facility were fully 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;">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;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, we obtained 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 solar power projects in Brazil. The facility is guaranteed by us and was set to mature in December 2023. In 2023, the maturity of the facility was extended to December 2024. In 2023, we received BRL490.9 million ($101.2 million) of non-recourse project financing for the 300MWp Ciranda project portfolio, consisting of BRL285.0 million ($60.3 million) non-recourse project bonds issued in a private placement with investment funds managed by Vinci Partners for Ciranda Phase I, and a BRL205.9 milllion ($40.9 million) non-recourse project finance facility with Banco Nacional de Desenvolvimento Econ&#244;mico e Social (&#8220;BNDES&#8221;) for Ciranda Phase II. Both the project bonds and project finance facility are secured by the project assets, with maturities set for 2041 and 2047, respectively. As of February 29, 2024, the outstanding balance on the development and construction facility was $45.4 million, the outstanding balance on the project bonds was $60.2 million, and the outstanding balance on the project finance facility was $40.1 million.</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 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 with maturity in December 2026. In February 2023, we renewed this &#8364;100.0 million medium term note program. As of February 29, 2024, the carrying value net of unamortized issuance costs of the fixed rate notes was $32.3 million, and was included as a component of green bonds and convertible notes on the consolidated balance sheet.</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 2023, we secured a $100.0 million credit facility with Nomura. The facility will mature in March 2025 and is guaranteed by us. As of February 29, 2024, 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 12pt 0pt;">In June 2023, we secured two credit facilities, comprising a &#8364;30.0 million ($32.7 million) and $20.0 million term loan facility, and a $110.5 million revolving credit facility with Santander Corporate &amp; Investment Banking (&#8220;Santander CIB&#8221;). The two facilities will mature in June 2026 and are guaranteed by us. As of February 29, 2024, the term loans and the revolving credit facility were fully drawn.</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 October 2023, we issued JPY18.5 billion ($122.0 million) green bonds to finance development and construction costs of Recurrent projects globally. The bonds will mature in September 2026 and is guaranteed by us. As of February 29, 2024, the carrying value net of unamortized issuance costs of the green bonds was $121.1 million, and was included as a component of green bonds and convertible notes on the consolidated balance sheet.</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 2023, Canadian Solar Sunenergy (Jiaxing) Co. Ltd. entered into credit facilities in the aggregate of RMB2,282.8 million ($320.0 million) with various banks, and these credit facilities will mature through April 2030 by installments. Credit facilities of RMB1,869.6 million ($262.0 million) are unsecured and are guaranteed by CSI Solar, and the remaining RMB413.2 million ($57.9 million) are secured by certain land use rights, property, plant and equipment and equity interest of Canadian Solar Sunenergy (Jiaxing) Co. Ltd., and are guaranteed by CSI Solar. As of February 29, 2024, $177.7 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 12pt 0pt;">In 2023, CSI Cells (Suqian) Co., Ltd. entered into credit facilities in the aggregate of RMB2,590.0 million ($375.2 million) with various banks, and these credit facilities will mature through September 2026 by installments. Credit facilities of RMB90.0 million ($13.1 million) are unsecured and are guaranteed by CSI Solar, and the remaining RMB2,500.0 million ($362.1 million) are secured by certain property, plant and equipment and equity interest of CSI Cells (Suqian) Co., Ltd, and are guaranteed by CSI Solar. As of February 29, 2024, $142.2 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 12pt 0pt;">In 2023, CSI Cells (Yangzhou) Co., Ltd. entered into credit facilities in the aggregate of RMB1,900.0 million ($263.1 million) with various banks, and these credit facilities will mature through August 2028 by installments. The credit facilities are secured by certain property, plant and equipment and equity interest of CSI Cells (Yangzhou) Co., Ltd., and are guaranteed by CSI Solar. As of February 29, 2024, $108.8 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 12pt 0pt;">In 2023, CSI Solar Technology (Xining) Co., Ltd. entered into credit facilities in the aggregate of RMB2,038.9 million ($293.3 million) with various banks, and these credit facilities will mature through May 2028 by installments. Credit facilities of RMB180.0 million ($25.8 million) are unsecured and are guaranteed by CSI Solar. The remaining RMB1,858.9 million ($267.5 million) are secured by certain property, plant and equipment and equity interest of CSI Solar Technology (Xining) Co., Ltd, and are guaranteed by CSI Solar. As of February 29, 2024, $114.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 12pt 0pt;">In 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 29, 2024, $35.2 million was utilized.</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;"><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 entered into a letter of credit facility of $50.0 million with Credit Agricole to support our global project development. As of February 29, 2024, $29.0 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 12pt 0pt;">In 2022, we entered into a letter of credit facility of up to $100.0 million with syndicated financial institutions led by Nomura Corporate Funding Americas, LLC and with issuing bank Co&#246;peratieve Rabobank U.A., New York Branch to support our North American project development. As of February 29, 2024, $70.9 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 12pt 0pt;">In April 2023, we entered into a letter of credit facility of EUR150.0 million ($165.3 million) with Nordic Guarantee Insurance Ltd to support our project development in EMEA region. As of February 29, 2024, $8.4 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 12pt 0pt;">In June 2023, we entered into a letter of credit facility of $42.0 million with Norddeutsche Landesbank to support a project development in the U.S. As of February 29, 2024, the facility was fully utilized.</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 February 2024, we secured a multicurrency green loan facility of &#8364;95.0 million ($102.6 million) with a group of international banks led by Investec Bank Plc to support Recurrent Energy. The green loan facility comprises a &#8364;40 million term loan and a &#8364;55 million revolving credit line, which will mature in February 2027 and is guaranteed by us. As of February 29, 2024, $10.8 million of the term loan was drawn and the revolving credit facility 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 12pt 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 12pt 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 $334.9 million and $445.0 million as of December 31, 2022 and 2023, 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.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;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;</p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:24.13%;border-bottom:1px solid #000000;margin:0pt;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.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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;">2022</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;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;">2023</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;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;</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;$)</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;margin:0pt;">Net cash provided by operating activities</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;"><span style="white-space:pre-wrap;"> 916,631</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;">&#160;</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;"><span style="white-space:pre-wrap;"> 684,615</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;margin:0pt;">Net cash used in investing activities</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;"><span style="white-space:pre-wrap;"> (630,488)</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;">&#160;</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="white-space:pre-wrap;"> (1,671,416)</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;margin:0pt;">Net cash provided by financing activities</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;"><span style="white-space:pre-wrap;"> 428,639</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;">&#160;</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;"><span style="white-space:pre-wrap;"> 2,052,828</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;margin:0pt;">Net increase in cash, cash equivalents and restricted cash</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;"><span style="white-space:pre-wrap;"> 535,221</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;">&#160;</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;"><span style="white-space:pre-wrap;"> 976,929</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;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.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;"><span style="white-space:pre-wrap;"> 1,434,282</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;">&#160;</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;"><span style="white-space:pre-wrap;"> 1,969,503</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;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.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;"><span style="white-space:pre-wrap;"> 1,969,503</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;">&#160;</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;"><span style="white-space:pre-wrap;"> 2,946,432</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 12pt 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 2023, the cash provided by operating activities decreased by $232.0 million compared to 2022, primarily due to a decrease in short-term notes payable and increased working capital deployed to project assets, partially offset by favorable non-cash adjustments and higher net 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;">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;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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. Our capital expenditure was $1,116.5 million in 2023 compared to $627.1 million in 2022, as we increased the level of vertical integration of our solar manufacturing capacity and increased the battery energy storage manufacturing capacity of our SolBank product. Our purchase of solar power systems was $409.0 million in 2023, as we adjusted Recurrent Energy&#8217;s business strategy to create greater asset value and retain greater ownership of projects in select markets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 0pt;">Net cash provided by financing activities was $2,052.8 million in 2023 compared to $428.6 million in 2022, primarily resulting from cash received from CSI Solar&#8217;s IPO in the amount of $927.9 million, net of issuance cost.</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 2023, we increased our financing cash flows from short-term and long-term borrowings and green bonds by an aggregate of $1,100.6 million, representing a substantial increase compared to $462.3 million of increase in financing cash flows from short-term and long-term borrowings in 2022. Our total borrowings, green bonds and convertible notes increased by $945.4 million from $2,514.8 million in 2022 to $3,460.2 million in 2023. The increase was partially offset by the debt deconsolidation associated with our solar power and battery energy storage asset sales throughout 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;">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 12pt 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 12pt 0pt;">Our material cash requirements as of December 31, 2023 and any subsequent period primarily include our long-term and short-term borrowings obligations, purchase obligations, green bonds and convertible notes obligations, operating and finance lease obligations, financing liability obligations, and interest obligations related to our borrowings, green bonds and 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 12pt 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, 2023, our commitments for the purchase of inventories, primarily silicon raw materials, were $2.8 billion, of which $1.3 billion is expected to be paid in 2024. Our capital expenditures were primarily to maintain and increase our ingot, wafer, cell and module manufacturing capacity. We made capital expenditures of $627.1 million and $1,116.5 million in 2022 and 2023, respectively. As of December 31, 2023, our commitments for the purchase of property, plant and equipment were $658.5 million, of which $622.7 million is expected to be paid in 2024. As of December 31, 2023, our commitments for the purchase of services for solar power system were $32.5 million, of which $29.7 million is expected to be paid in 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;">As of December 31, 2023, we had $1,266.0 million of long-term borrowings and $1,805.2 million of short-term borrowings outstanding. Principal payments required on long-term borrowings outstanding as of December 31, 2023 are $551.0 million in 2025, $355.3 million in 2026, $84.7 million in 2027, $49.3 million in 2028, and $225.7 million in 2029 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, 2023 are $72.7 million in 2024, $55.9 million in 2025, $28.1 million in 2026, $14.9 million in 2027, $12.2 million in 2028, and $127.2 million in 2029 and thereafter. Interest payments expected to be paid on short-term debt outstanding at December 31, 2023 are $68.3 million. The changes in 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 12pt 0pt;">As of December 31, 2023, 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, regular interest obligations on convertible notes as of December 31, 2023 are $5.8 million in 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 12pt 0pt;">As of December 31, 2023, we had green bonds of $161.6 million outstanding, which will mature in 2026. Interest obligations on green bonds are $3.4 million in 2024, $3.4 million in 2025, and $2.8 million in 2026.</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, 2023, we had financing liability of $27.5 million that is expected to be repaid in 2030.</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;">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;"><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, 2023, we had $137.1 million of operating lease liabilities, of which $24.9 million is expected to mature in 2024. As of December 31, 2023, we had $159.8 million of finance lease liabilities, of which $95.0 million is expected to mature in 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;">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, 2023 were $406.7 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 0pt;">We have contingent contractual obligations in the ordinary course of developing solar power and battery energy 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; Although we have completed the initial public offering of CSI Solar, 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 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 12pt 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 12pt 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 $1,587.5 million as of December 31, 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 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></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;"><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, 2023, we provided $5.4 million of withholding income tax for undistributed earnings of foreign subsidiaries in 2023 on the basis of expected future distribution plan. As of December 31, 2023, the undistributed earnings attributable to our PRC subsidiaries are approximately $701.2 million are considered to be indefinitely reinvested. 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 12pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><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 12pt 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 energy storage products. </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;text-align:justify;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;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Ingot growth and wafering are 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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 n-type based 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Product reliability research is engaged in research collaboration with leading research institutes to accelerate market penetration of incremental and rupture solar technologies, by allowing state-of-the-art reliability evaluation and performance characterization. The research focuses on enabling products with longer service lifetime and lower degradation rates through the use of data science, extensive characterization platforms and data-driven proprietary tool for module warranty.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">System performance analysis provides module- and system-level performance evaluation and LCOE 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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 aim at developing high quality inverters and battery energy 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 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;">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 solar modules and components. Since 2010, the laboratory has been approved by VDE and CSA certification bodies under their data approval programs.</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 12pt 0pt;">As of December 31, 2023, we had 1,297 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 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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 with 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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 costs 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">developing new n-type based 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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 costs through process and material improvement and innovation;</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;">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;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">designing and developing battery energy storage systems;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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 low degradation solar modules; 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 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;">establishing highly accelerated reliability testing and innovative characterization methods to expedite large scale commercialization of our product innovations.</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 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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;">. Since the cell efficiency heavily depends on the wafer&#8217;s quality, our research and development efforts focus on continuously improving quality performance of the mono wafers. We focus on continuously decreasing the oxygen content and reducing the axial-direction resistivity difference of N-type ingot to support the further improvement of cell efficiency. Additional R&amp;D activities focus on consuming less energy and materials in the CZ pulling and diamond wire sawing, such as increasing the pulling speed, reducing the power consumption during the crystal growth, improving the success rate of seeding and neck growth in the CZ pulling, and reducing the diamond wire diameter while improving the yield 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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;">. 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 have expanded TOPCon module product offering in 2023, having achieved TOPCon cell efficiency of 26.0%. 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. In the future, we expect to launch a new high efficiency IBC cell and module product for residential application.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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 efforts include module R&amp;D, processing, testing and reliability, make our products highly competitive in the market. By the end of 2023, our mass produced BiHiKu7 TOPCon module has reached wattages of 705W, and the module efficiency of 22.7%. 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 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 and 210 mm bifacial TOPCon modules in July 2023. In 2022, we developed a BIPV system with innovative metal roof and installation method and this system has entered the market in 2023. Also in 2022, we developed our alloy steel frame module and launched in 2023. &#160;In the future, we will develop modules for seawater floating systems, IBC modules, HJT utility modules and PV systems integrated with roads and agriculture.</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:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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 energy storage systems for utility, commercial, residential applications, for both front and behind the meter applications. Our string inverter products are progressing on certifications to enable the products to be available broadly in many regions. We continue to advance our solar system kits which are &#8216;ready-to-install&#8217;, consisting of solar modules, inverters, racking system, battery energy 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><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 cover a full range of inverters for mass production to cater to various applications. Our product series include the residential 3-5 kW inverter, the residential 7-9 kW inverter, the C&amp;I 15-25 kW inverter, the C&amp;I 40-60 kW inverter and the C&amp;I 75-125 kW inverter, the 320kW/333kW/350kW for utility application, and 200kW PCS for energy storage system. 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. We maintain various certifications according to local business requirements for some of our PV inverters, including IEC62109/62116 safety certification and CQC certification in China, KSC 8565/8567 in Korea, RS097 in South Africa, 140/515 in Brazil and EN50549-1/EN50549-2/CEI0-21/CEI0-16/RD1699/NTS2.1/VDE4105/PPDS in Europe. The rest of products are in the process to get all necessary certifications before they enter the relevant markets.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Utility-scale battery energy storage products. </i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">The first generation of our utility-scale products, SolBank 1.0, was customized to develop solutions for different regions to meet applications around the world. In 2023, we completed the design and development of new high-energy-density products SolBank3.0. SolBank 3.0 adopts a disruptive design to further increase energy density. The installed capacity of the 20-foot energy storage system exceeds 5MWh. It adopts a single-side door opening with centralized water-cooling unit and DMC deployed on the same side, and supports back-to-back installation of two containers. In 2023, we completed the design of KuBank, a battery energy storage products that targets C&amp;I application scenarios. It has a standardized design, enabling connection of multiple cabinets in parallel to achieve unlimited expansion of the energy storage system, realizing its plug-and-play functionality. Certification and sales of KuBank in the Chinese market was completed in 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 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;"><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;">Residential battery energy 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 battery energy storage solution that includes the Smart Gateway, hybrid inverter and battery module. The solution is available in 9.9 kWh, 13.3 kWh, 16.6 kWh, 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 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 12pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><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 12pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><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 12pt 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 12pt 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></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;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 12pt 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 power and battery energy storage projects at a point in time when customers obtain control of the solar power and battery energy storage projects. Our solar power and battery energy storage projects are often held in separate legal entities or trusts which are formed for the special purpose of constructing the solar power and battery energy 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 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;text-align:justify;margin:0pt 0pt 12pt 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 0pt 12pt 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 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 2023, we recorded impairment loss of $5.9 million, $16.2 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 12pt 0pt;"><i style="font-style:italic;">Inventories</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 value our inventories at the lower of cost or net realizable value, based upon assumptions about future demand and market conditions. Product-specific facts and circumstances reviewed in the inventory valuation process include a review of changes in market conditions, the associated pricing environment of raw material, particularly polysilicon, and an assessment of selling price in relation to product cost. See &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry&#8212;Oversupply of polysilicon, solar wafers, cells and modules may cause substantial downward pressure on the prices of our products and reduce our revenues and earnings.&#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 2023, we wrote down our inventories by $113.1 million to reflect the lower of cost and net realizable value.</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;margin:0pt 0pt 12pt 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. We may be subject to the application of global minimum tax of 15% which is dependent on the implementation of Base Erosion Profit Shifting (&#8220;BEPS&#8221;) Pillar 2 rules by the countries where we operate. 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 aimed at preventing 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, 2023, we believe valuation allowance of $72.7 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 12pt 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 energy 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 2023, we provided warranty provision of $27.9 million. As of December 31, 2023, accrued warranty liability was $75.5 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_39e7a0c2_e448_4f79_94a2_68e4172108a3"></a><a id="ITEM6DIRECTORSSENIORMANAGEMENTANDEMPLOYE"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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.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:1.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:7.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:1.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:56.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:32.06%;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.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;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">Age</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:56.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;">Position/Title</b></p></td></tr><tr><td style="vertical-align:top;width:32.06%;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.89%;background:#cceeff;margin: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.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">60</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin: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.62%;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.06%;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.89%;margin: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.51%;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.89%;margin: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.62%;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.06%;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.89%;background:#cceeff;margin: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.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin: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.62%;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.06%;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.89%;margin: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.51%;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.89%;margin: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.62%;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.06%;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.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">48</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.62%;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.06%;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.89%;margin:0pt;padding:0pt;"><p style="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.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">69</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p style="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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lead Independent Director</p></td></tr><tr><td style="vertical-align:top;width:32.06%;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;width:1.89%;background:#cceeff;margin: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.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">60</p></td><td style="vertical-align:bottom;width:1.89%;background:#cceeff;margin: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.62%;background:#cceeff;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.06%;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.89%;margin: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.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">58</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin: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.62%;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></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;">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;margin:0pt 0pt 12pt 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 12pt 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. He is also the Chairman of CSI Solar, and has been serving as a director of CSI Solar since September 2020. 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 22,200 employees globally. We are a leading manufacturer of solar photovoltaic modules, provider of solar energy and battery energy storage solutions, and developer of utility-scale solar power and battery energy storage projects with a geographically diversified pipeline in various stages of development. Over the past 23 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 has received the EY Sustainability Excellence Award 2023 for individuals. 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 12pt 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><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;Andrew (Luen Cheung) Wong</i> has served as an independent director of our company since August 2014. He has also served as an independent non - executive 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></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;text-indent:18pt;margin:0pt 0pt 12pt 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. From March 2020 to March 2022, Mr. Wong also served as an independent director and chair of the audit committee 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 12pt 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 12pt 0pt;"><i style="font-style:italic;">Mr. Leslie Li Hsien Chang </i>has served 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 currently serves as the lead independent director. Mr. Chang is currently an independent non - executive director, chairman of the audit committee, and a member of the remuneration committee and nomination committee of Huzhou Gas Company Limited. 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. He is a member of the American Institute of Certified Public Accountants, New York State Society of Certified Public Accountant, 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;">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 12pt 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 12pt 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 20 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;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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></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 0pt 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 12pt 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 12pt 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, executive officers and key management personnel aggregate cash remuneration, including salaries, bonuses and benefits in kind, of approximately $10.1 million for 2023. Of this amount, we paid approximately $0.5 million to our six independent directors, approximately $3.5 million to our executive officers and $6.1 million to key management personnel. 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 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;">The following table summarizes the base compensation of our executive officers and key management personnel for the year ended December 31, 2023 (in thousands of $). Target performance-based compensation is calculated as a percentage of base salary. The actual bonus payable may be more or less than the annual target bonus, depending on the achievement of both corporate and individual performance goals.</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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;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;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Base</b></p></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;">Name</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;</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;">Salary</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;">Shawn (Xiaohua) Qu</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;"><span style="white-space:pre-wrap;"> 961</span></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;">Yan Zhuang</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;">&#160;</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;"><span style="white-space:pre-wrap;"> 865</span></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;">Huifeng Chang</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;"><span style="white-space:pre-wrap;"> 541</span></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;">Canadian Solar Inc. executives<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.74%;margin:0pt;padding:0pt;"><p style="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%;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,469</span></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;">CSI Solar executives<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.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;border-bottom:1px solid #000000;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,740</span></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;">&#160;</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:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,576</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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:14.4pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(1)</span></span>Includes seven key management personnel across various corporate functions of Canadian Solar Inc.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:14.4pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(2)</span></span>Includes five key management personnel across various corporate functions 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;">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;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 11pt 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 11pt 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 11pt 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 11pt 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, 2024, 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 23,813,000 common shares, of which 566,190 restricted shares, 3,283,393 options, and 10,126,960 restricted share units (in each case net of forfeitures) have been awarded, leaving 9,836,457 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 11pt 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 11pt 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:11pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:11pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:11pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 11pt 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 11pt 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 11pt 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 11pt 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 11pt 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 11pt 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;">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;margin:0pt 0pt 12pt 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, 2024, 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:56.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: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.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.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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.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.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.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:15.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.05%;margin:0pt;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:7.45%;margin:0pt;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.71%;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.45%;margin:0pt;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.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.45%;margin:0pt;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.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:15.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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:7.45%;margin:0pt;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.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.45%;margin:0pt;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.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.45%;margin:0pt;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.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:15.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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;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.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.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;">Granted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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;">Vested</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.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;">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:15.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;">Date&#160;of&#160;Grant</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;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: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.45%;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.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.45%;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:7.45%;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:15.42%;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:56.05%;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.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.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;"><span style="white-space:pre-wrap;"> 6,154</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 6,154</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.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;"><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:15.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;">May 8, 2011</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 13,706</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 13,706</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.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;">&#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:15.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;">May 20, 2011</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 75,075</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 75,075</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.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;">&#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:15.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;">March 16, 2012</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 67,024</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 67,024</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.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;">&#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:15.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;">March 9, 2013</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 11,983</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 11,983</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.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;">&#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:15.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;">May 4, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 8,274</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 8,274</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.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;">&#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:15.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;">May 3, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 20,216</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 20,216</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.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;">&#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:15.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;">July 8, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 121,951</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 121,951</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.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;">&#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:15.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;">November 6, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 22,607</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 22,607</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.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;">&#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:15.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;">May 17, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 77,289</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 77,289</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.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;">&#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:15.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;">November 5, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 18,018</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 18,018</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.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;">&#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:15.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;">May 13, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 83,805</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 83,805</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.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;">&#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:15.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;">November 10, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 15,690</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 15,690</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 13, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 26,691</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 26,691</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.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;">&#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:middle;white-space:nowrap;width:15.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;">November 9, 2019</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.05%;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.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.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;"><span style="white-space:pre-wrap;"> 15,748</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 11,811</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 23, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 11,924</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 5,962</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.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;">&#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:middle;white-space:nowrap;width:15.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;">August 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.05%;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.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.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;"><span style="white-space:pre-wrap;"> 26,073</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 26,073</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.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;">&#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:middle;white-space:nowrap;width:15.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;">December 30, 2020</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.05%;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.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.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;"><span style="white-space:pre-wrap;"> 250,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 125,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:7.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;"><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:middle;white-space:nowrap;width:15.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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.05%;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.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.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;"><span style="white-space:pre-wrap;"> 12,330</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 3,082</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.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;"><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:middle;white-space:nowrap;width:15.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;">May 23, 2022</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.05%;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.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.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;"><span style="white-space:pre-wrap;"> 7,585</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><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.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;"><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:middle;white-space:nowrap;width:15.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;">May 23, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;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.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.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;"><span style="white-space:pre-wrap;"> 23,340</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 23,340</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 8, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 13,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 13,477</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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 8, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 15,072</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 15,072</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 17, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 12,012</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 12,012</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 13, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 10,460</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 7,845</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 13, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 3,923</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 3,923</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 13, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 10,499</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 7,874</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 23, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 7,949</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 3,974</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.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;">&#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:middle;white-space:nowrap;width:15.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;">August 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 130,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 65,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:7.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;"><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:middle;white-space:nowrap;width:15.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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 8,220</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 2,055</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.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;"><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:middle;white-space:nowrap;width:15.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;">May 23, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 5,057</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><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.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;"><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:middle;white-space:nowrap;width:15.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;">May 23, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;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: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.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;"><span style="white-space:pre-wrap;"> 2,564</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 2,564</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 8, 2011</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 8,224</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 8,224</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 20, 2011</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 45,045</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 45,045</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.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;">&#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:middle;white-space:nowrap;width:15.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;">March 16, 2012</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 40,214</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 40,214</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.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;">&#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:middle;white-space:nowrap;width:15.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;">March 9, 2013</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 7,988</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 7,988</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 4, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 5,516</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 5,516</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 3, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 13,477</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 13,477</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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 8, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 15,072</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 15,072</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 17, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 12,012</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 12,012</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 13, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 10,460</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 10,460</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 13, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 5,230</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 5,230</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 13, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 15,748</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 11,811</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.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;">&#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:middle;white-space:nowrap;width:15.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;">May 23, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:56.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: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.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;"><span style="white-space:pre-wrap;"> 11,924</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 5,962</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.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;">&#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:middle;white-space:nowrap;width:15.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;">August 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:56.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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:7.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;"><span style="white-space:pre-wrap;"> 130,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;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:7.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;"><span style="white-space:pre-wrap;"> 65,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:7.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;"><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:middle;white-space:nowrap;width:15.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;">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;">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;"><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:54.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: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.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.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:7.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.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:15.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:54.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;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.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;">Restricted</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.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;">Restricted</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.45%;margin:0pt;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.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:15.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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:54.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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;">Share&#160;Units</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.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;">Share&#160;Units</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.45%;margin:0pt;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.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:15.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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:54.34%;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.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.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;">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.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;">Vested</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.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;">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:15.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;">Date&#160;of&#160;Grant</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.34%;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: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.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,020</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.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,020</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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 800</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.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;"> 800</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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,274</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.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,274</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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 880</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.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;"> 880</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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 993</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.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;"> 993</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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,820</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.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,820</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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,033</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.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,033</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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,572</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.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,572</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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 2,051</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.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;"> 2,051</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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 2,228</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.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;"> 2,228</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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 2,411</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.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;"> 2,411</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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 2,562</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.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;"> 2,562</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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,901</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.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,901</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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,818</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.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,818</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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,767</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.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,767</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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,802</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.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,802</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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 2,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;margin:0pt;"><span style="vertical-align:top;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;"> 2,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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 2,056</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.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;"> 2,056</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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 2,096</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.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;"> 2,096</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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,623</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.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,623</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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,381</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.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,381</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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,486</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.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,486</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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,361</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.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,361</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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,883</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.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,883</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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,587</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.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,587</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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 908</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.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;"> 908</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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 588</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.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;"> 588</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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 639</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 20,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;"><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.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;"> 10,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:7.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;"><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:middle;white-space:nowrap;width:15.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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 693</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 883</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 969</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 843</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">April 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 942</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">July 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 796</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">October 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 989</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 770</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">April 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 809</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">July 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,203</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">October 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,157</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2024</p></td></tr><tr><td style="vertical-align:bottom;width:54.34%;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.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.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;"> 610</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.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;"> 610</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.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;">&#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:middle;white-space:nowrap;width:15.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;">August 7, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 800</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.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;"> 800</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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2014</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,274</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.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,274</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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 880</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.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;"> 880</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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 993</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.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;"> 993</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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,820</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.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,820</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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2015</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,033</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.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,033</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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,572</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.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,572</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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 2,051</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.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;"> 2,051</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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 2,228</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.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;"> 2,228</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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2016</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 2,411</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.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;"> 2,411</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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 2,562</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.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;"> 2,562</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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,901</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.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,901</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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2017</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;">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;"><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:54.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;"><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;"> 1,818</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.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,818</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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2017</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,767</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.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,767</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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,802</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.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,802</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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 2,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;margin:0pt;"><span style="vertical-align:top;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;"> 2,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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 2,056</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.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;"> 2,056</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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2018</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 2,096</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.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;"> 2,096</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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,623</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.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,623</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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,381</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.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,381</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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,486</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.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,486</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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,361</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.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,361</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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,883</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.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,883</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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,587</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.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,587</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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 908</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.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;"> 908</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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 588</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.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;"> 588</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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 639</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.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;">&#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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 20,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;"><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.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;"> 10,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:7.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;">&#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:middle;white-space:nowrap;width:15.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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 693</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.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;">&#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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 883</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.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;">&#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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 969</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.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;">&#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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 843</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.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;">&#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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 942</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.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;">&#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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 796</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.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;">&#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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 989</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.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;">&#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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 770</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.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;">&#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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 809</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.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;">&#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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,203</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.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;">&#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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,157</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2024</p></td></tr><tr><td style="vertical-align:bottom;width:54.34%;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: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.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;"> 559</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.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;"> 559</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.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;"><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:middle;white-space:nowrap;width:15.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;">March 8, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,623</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.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,623</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.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;"><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:middle;white-space:nowrap;width:15.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;">April 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,381</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.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,381</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.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;"><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:middle;white-space:nowrap;width:15.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;">July 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,486</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.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,486</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.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;"><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:middle;white-space:nowrap;width:15.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;">October 1, 2019</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,361</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.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,361</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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,883</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.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,883</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.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;"><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:middle;white-space:nowrap;width:15.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;">April 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,587</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.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,587</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.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;"><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:middle;white-space:nowrap;width:15.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;">July 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 908</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.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;"> 908</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.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;"><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:middle;white-space:nowrap;width:15.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;">October 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 588</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.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;"> 588</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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 639</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:center;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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 20,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;"><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.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;"> 10,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:7.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;"><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:middle;white-space:nowrap;width:15.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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 693</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 883</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 969</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 843</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.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;"> &#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.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;"><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:15.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;">April 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 942</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">July 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 796</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">October 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 989</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 770</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.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;"> &#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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 809</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.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;"> &#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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,203</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.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;"> &#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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,157</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.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;"> &#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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2024</p></td></tr><tr><td style="vertical-align:bottom;width:54.34%;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.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.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,361</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.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,361</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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,883</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.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,883</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.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;">&#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:middle;white-space:nowrap;width:15.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;">April 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,587</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.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,587</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.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;">&#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:middle;white-space:nowrap;width:15.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;">July 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 908</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.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;"> 908</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.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;">&#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:middle;white-space:nowrap;width:15.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;">October 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 588</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.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;"> 588</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.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;">&#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:middle;white-space:nowrap;width:15.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;">January 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 639</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">April 1, 2021</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;">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;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><td style="vertical-align:bottom;width:54.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;"><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;"> 20,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;"><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.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;"> 10,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:7.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;"><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:middle;white-space:nowrap;width:15.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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 693</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 883</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 969</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 843</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">April 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 942</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">July 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 796</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">October 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 989</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 770</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">April 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 809</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">July 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,203</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">October 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,157</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2024</p></td></tr><tr><td style="vertical-align:bottom;width:54.34%;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: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.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;"> 908</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.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;"> 908</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.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;"><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:middle;white-space:nowrap;width:15.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;">October 1, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 588</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.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;"> 588</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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 639</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">April 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 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;"><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.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;"> 10,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:7.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;"><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:middle;white-space:nowrap;width:15.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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 693</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">July 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 883</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">October 1, 2021</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 969</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 843</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">April 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 942</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">July 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 796</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">October 1, 2022</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 989</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 770</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">April 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 809</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">July 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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;"> 1,203</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">October 1, 2023</p></td></tr><tr><td style="vertical-align:bottom;width:54.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;"><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,157</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.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;"> &#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.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;"><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:middle;white-space:nowrap;width:15.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;">January 1, 2024</p></td></tr><tr><td style="vertical-align:bottom;width:54.34%;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: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.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;"><b style="font-weight:bold;white-space:pre-wrap;"> 1,714,598</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;vertical-align:top;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;"><b style="font-weight:bold;white-space:pre-wrap;"> 1,299,065</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.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;"><b style="font-weight:bold;">&#8212;</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:middle;white-space:nowrap;width:15.42%;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:52.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:9.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: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.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.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:15.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:52.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;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:9.35%;margin:0pt;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.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.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;">Restricted</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.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;">Restricted</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:15.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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:9.35%;margin:0pt;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.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.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;">Share&#160;Units</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.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;">Share&#160;Units</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:15.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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.44%;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.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:9.35%;border-bottom:1px solid #000000;margin:0pt;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.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;">Vested</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.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;">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:15.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;">Date&#160;of&#160;Grant</b></p></td></tr><tr><td style="vertical-align:top;width:52.44%;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.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:9.35%;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: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;">&#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.42%;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:15.42%;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:52.44%;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.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:middle;width:9.35%;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,538</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.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,538</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.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;"> &#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:middle;white-space:nowrap;width:15.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;">May&#160;8, 2011</p></td></tr><tr><td style="vertical-align:top;white-space:nowrap;width:52.44%;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.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:middle;width:9.35%;background:#cceeff;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,482</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: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,482</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.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;"> &#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:middle;white-space:nowrap;width:15.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;">May&#160;20, 2011</p></td></tr><tr><td style="vertical-align:top;width:52.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: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:middle;width:9.35%;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,021</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: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;"> 21,021</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.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;"> &#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:middle;white-space:nowrap;width:15.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;">March&#160;16, 2012</p></td></tr><tr><td style="vertical-align:top;width:52.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: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:middle;width:9.35%;background:#cceeff;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,767</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: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,767</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.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;"> &#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:middle;white-space:nowrap;width:15.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;">March&#160;9, 2013</p></td></tr><tr><td style="vertical-align:top;width:52.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: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:middle;width:9.35%;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,796</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: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;"> 2,796</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.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;"> &#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:middle;white-space:nowrap;width:15.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;">May&#160;4, 2014</p></td></tr><tr><td style="vertical-align:top;width:52.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: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:middle;width:9.35%;background:#cceeff;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,344</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: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;"> 2,344</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.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;"> &#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:middle;white-space:nowrap;width:15.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;">May&#160;3, 2015</p></td></tr><tr><td style="vertical-align:top;width:52.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: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:middle;width:9.35%;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,717</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: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,717</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.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;"> &#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:middle;white-space:nowrap;width:15.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;">July&#160;8, 2016</p></td></tr><tr><td style="vertical-align:top;width:52.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: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:middle;width:9.35%;background:#cceeff;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,275</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: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,275</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.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;"> &#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:middle;white-space:nowrap;width:15.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;">May&#160;17, 2017</p></td></tr><tr><td style="vertical-align:top;width:52.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: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:middle;width:9.35%;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,204</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: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,204</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.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;"> &#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:middle;white-space:nowrap;width:15.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;">May&#160;13, 2018</p></td></tr><tr><td style="vertical-align:top;width:52.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: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:middle;width:9.35%;background:#cceeff;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,661</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: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;"> 3,661</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.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;"> &#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:middle;white-space:nowrap;width:15.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;">May&#160;13, 2019</p></td></tr><tr><td style="vertical-align:top;width:52.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: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:9.35%;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,249</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: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,937</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.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;"> &#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:15.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;">May 23, 2020</p></td></tr><tr><td style="vertical-align:top;width:52.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: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:9.35%;background:#cceeff;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,975</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: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,987</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.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;"> &#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:15.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;">August 22, 2020</p></td></tr><tr><td style="vertical-align:top;width:52.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: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:9.35%;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;"> 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;"><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.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;"> 10,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.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;"> &#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:15.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;">September 22, 2020</p></td></tr><tr><td style="vertical-align:top;width:52.44%;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.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:9.35%;background:#cceeff;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;"> 10,014,501</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;">(5)</sup><span style="vertical-align:top;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;"> 6,842,281</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.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,867,350</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;width:15.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;">Various dates from May 8, 2011 to November 16, 2022</p></td></tr><tr><td style="vertical-align:top;width:52.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: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:9.35%;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;"> 170,293</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: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,269</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.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,111</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;width:15.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;">Various dates from March 12, 2023 to November 5, 2023</p></td></tr><tr><td style="vertical-align:top;width:52.44%;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.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:9.35%;background:#cceeff;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;"> 11,998,421</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;"><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.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;"><b style="font-weight:bold;white-space:pre-wrap;"> 8,231,344</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.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;"><b style="font-weight:bold;white-space:pre-wrap;"> 1,871,461</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:15.42%;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:12pt;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></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;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:12pt;margin-bottom:12pt;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:12pt;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:12pt;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:12pt;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. 1,326,000 restricted share units granted on June 2, 2021 and 205,000 restricted share units granted on October 25, 2022 vested following completion of the IPO of CSI Solar (50% vested on the IPO date, followed by 25% vesting on each of 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: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;">(6)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Vest following completion of IPO of CSI Solar (50% vested on the IPO date, followed by 25% vesting on each of the first and second anniversaries of the IPO).</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 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 12pt 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 0pt 12pt 0pt;">In 2021, we adopted two nonqualified deferred compensation plans for eligible employees, one plan for Recurrent 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 benefit of the participating employees. The amount of $0.7 million and $1.0 million was contributed to the trustee in 2022 and 2023, respectively, and the plans are not subject to the requirements of Employee Retirement Income Security Act of 1974 (&#8220;ERISA&#8221;). </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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;">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 2023, our board of directors held fifteen (15) meetings and passed sixty-six (66) resolutions by unanimous written consent.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 appointed.</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;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><div style="margin-left:-0.4pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;width:100%;background:#ffffff;"><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 29, 2024)</b></p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.64%;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.35%;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.64%;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.35%;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.64%;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.35%;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.64%;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.35%;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;">8</p></td></tr><tr style="height:17.95pt;"><td style="vertical-align:middle;width:46.64%;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 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.43%;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.64%;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.43%;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 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.64%;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.35%;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.64%;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.35%;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.64%;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.35%;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></table></div><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 12pt 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 12pt 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 12pt 0pt;">Our audit committee consists of Messrs. Lap Tat Arthur Wong, Dr. Harry E. Ruda and Leslie Li Hsien Chang and is chaired by Mr. Lap Tat Arthur Wong. Mr. Leslie Li Hsien Chang was appointed to serve on our audit committee effective August 16, 2023. Under the applicable Nasdaq rules, we are required to have at least three members of the Audit Committee. Each of Mr. Lap Tat Arthur Wong and Mr. Leslie Li Hsien Chang qualifies as an &#8220;audit committee financial expert&#8221; as required by the SEC. 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 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">annually reviewing and reassessing the adequacy of our audit committee charter;</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;">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;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></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 2023, our audit committee held six (6) 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 12pt 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 12pt 0pt;">Our compensation committee consists of Dr. Harry E. Ruda, Mr. Andrew (Luen Cheung) Wong and Ms. Lauren Templeton and is chaired by Mr. 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 things:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></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 2023, our compensation committee held seven (7) 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 12pt 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 12pt 0pt;">Our nominating and corporate governance committee consists of Messrs. Andrew (Luen Cheung) Wong, Lap Tat Arthur Wong, Leslie Li Hsien Chang and Ms. Lauren 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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: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;">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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2023, our nominating and corporate governance committee held eight (8) 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 12pt 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 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></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 2023, our technology committee held one (1) meeting 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 12pt 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 12pt 0pt;">We established a sustainability committee at the board level in April 2021. Our sustainability committee consists of Mr. Leslie Li Hsien Chang, Dr. Huifeng Chang and Ms. Lauren Templeton and is chaired by Ms. Templeton. 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">monitoring progress and advising on strategic measures related to the long-term sustainability of the firm; 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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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, execution and review of our ESG plans.</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 12pt 0pt;">In 2023, our sustainability committee held one (1) meeting 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 12pt 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 12pt 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;">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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 2023, 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></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;margin:0pt 0pt 12pt 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 12pt 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><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 12pt 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 12pt 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;">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 12pt 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 12pt 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 12pt 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></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 12pt 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 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 12pt 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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></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 12pt 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 12pt 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:12pt;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:12pt;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, 2021, 2022 and 2023, we had 13,535, 18,423 and 22,234 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, 2023.</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.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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: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.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:12.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: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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.95%;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.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;">As&#160;of&#160;December&#160;31,&#160;2023</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.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.95%;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.95%;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.95%;border-bottom:1px solid #000000;margin:0pt;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.14%;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.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 16,752</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.95%;background:#cceeff;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;"> 75</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.14%;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.95%;margin:0pt;padding:0pt;"><p style="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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,709</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="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.95%;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</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.14%;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.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,297</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.95%;background:#cceeff;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</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.14%;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.95%;margin:0pt;padding:0pt;"><p style="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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,476</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;margin:0pt;padding:0pt;"><p style="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.95%;border-bottom:1px solid #000000;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</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.14%;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.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 22,234</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.95%;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;"><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><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, 2023, we had 18,227 employees at our facilities in China, and 4,007 employees based in our facilities and offices in Canada, Japan, Australia, Singapore, Korea, Hong Kong, Taiwan, India, Indonesia, Thailand, Vietnam, Brazil, Central and South America, United Arab Emirates, South Africa, the Americas and the EU (which includes Germany, France, Italy, Greece, Netherlands, Poland and Spain) and the U.K. 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 12pt 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 12pt 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 12pt 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 12pt 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></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;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 12pt 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 12pt 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 2022 and 2023 was 14% and 17%, 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:12pt;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:12pt;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 12pt 0pt;">The following table sets forth information with respect to the beneficial ownership of our common shares as of January 31, 2024, the latest practicable date, by: </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;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The calculations in the table below are based on the 66,163,375 common shares outstanding, as of January 31, 2024. </p><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, 2024, 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.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: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:9.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: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:9.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:2.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-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.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;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:8pt;margin:0pt;">&#160;</p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:20.99%;margin:0pt;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.33%;margin:0pt;padding:0pt;"><p 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.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;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:8pt;margin:0pt;">&#160;</p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:20.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;">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.33%;margin:0pt;padding:0pt;"><p 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.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;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:8pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;border-bottom:1px solid #000000;margin:0pt;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.35%;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.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;">%</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p 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.32%;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.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.35%;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.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.28%;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.33%;background:#cceeff;margin:0pt;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.32%;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.35%;margin:0pt;padding:0pt;"><p style="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.35%;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,892,216</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;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.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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.32%;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.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.35%;background:#cceeff;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;"> 639</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;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.32%;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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;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,713</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;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.32%;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.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;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,994</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;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.32%;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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;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;"> 639</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;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.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leslie Li Hsien Chang <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.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;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,128</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;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.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Yan Zhuang <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.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;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;"> 74,525</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;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.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Huifeng Chang <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(10)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;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;"> 49,674</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;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.32%;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.35%;margin:0pt;padding:0pt;"><p style="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.35%;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,055,528</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;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.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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.32%;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.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.28%;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.33%;background:#cceeff;margin:0pt;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.32%;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;">(11)</sup></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;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,013,139</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;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;"> 9.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Venture Holding S.a.r.l. SPF <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(12)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;background:#cceeff;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,382,000</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;background:#cceeff;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.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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:74.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Grantham, Mayo, Van Otterloo &amp; Co. LLC <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(13)</sup></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.35%;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,340,382</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.28%;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.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;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.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Mackenzie Financial Corporation <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(14)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.35%;background:#cceeff;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,952,015</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.28%;background:#cceeff;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.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;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 12pt 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:12pt;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></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;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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,865,925 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:10pt;margin-bottom:12pt;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 639 common shares issuable upon vesting of restricted share units held by Dr. Harry E. Ruda within 60 days from January 31, 2024.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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 3,074 common shares directly held by Mr. Andrew (Luen Cheung) Wong and 639 shares issuable upon vesting of restricted share units held by Mr. Andrew (Luen Cheung) Wong within 60 days from January 31, 2024.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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 21,355 common shares directly held by Mr. Lap Tat Arthur Wong and 639 shares issuable upon vesting of restricted share units held by Mr. Lap Tat Arthur Wong within 60 days from January 31, 2024.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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 639 common shares issuable upon vesting of restricted share units held by Ms. Lauren C. Templeton within 60 days from January 31, 2024.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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 11,489 common shares directly held by Mr. Leslie Li Hsien Chang and 639 shares issuable upon vesting of restricted share units held by Mr. Leslie Li Hsien Chang within 60 days from January 31, 2024.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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;">Comprises 74,525 common shares directly held by Mr. Yan Zhuang.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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;">(10)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Comprises 49,674 common shares directly held by Dr. Huifeng Chang.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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;">(11)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Represents 6,013,139 common shares owned by BlackRock, Inc., as reported on Schedule 13G/A filed by BlackRock, Inc. on February 8, 2024. The percentage of beneficial ownership was calculated based on the total number of our common shares as of January 31, 2024. The principal business address of BlackRock, Inc. is 50 Hudson Yards, New York, NY 10001.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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;">(12)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Represents 5,382,000 common shares owned by Venture Holding S.a.r.l. SPF, as reported on Schedule 13G filed by Venture Holding S.a.r.l. SPF on March 4, 2024. The percentage of beneficial ownership was calculated based on the total number of our common shares as of January 31, 2024. The principal business address of Venture Holding S.a.r.l. SPF is 31-33 Grand rue, L-1661 Luxembourg.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;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;">(13)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Represents 5,340,382 common shares owned by Grantham, Mayo, Van Otterloo &amp; Co. LLC as reported on Schedule 13G filed by Grantham, Mayo, Van Otterloo &amp; Co. LLC on February 13, 2024. The percentage of beneficial ownership was calculated based on the total number of our common shares as of January 31, 2024. The principal business address of Grantham, Mayo, Van Otterloo &amp; Co. LLC is 53 State Street, Suite 3300 Boston, MA 02109.</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;">(14)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Represents 3,952,015 common shares owned by Mackenzie Financial Corporation as reported on Schedule 13G/A filed by Mackenzie Financial Corporation on February 13, 2024. The percentage of beneficial ownership was calculated based on the total number of our common shares as of January 31, 2024. The principal business address of Mackenzie Financial Corporation is 180 Queen Street West, Toronto, Ontario, Canada M5V 3K1.</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 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 12pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><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;">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;"><a id="_b3bba122_de8e_4d3b_a496_6828b66a678c"></a><a id="ITEM7MAJORSHAREHOLDERSANDRELATEDPARTYTRA"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 0pt;">Dr. Shawn Qu did not guarantee our loan facilities in 2022 and 2023 and we do not intend to seek loan guarantees from Dr. Shawn Qu. Dr. Shawn Qu fully guaranteed loan facilities from a Chinese bank of RMB12.0 million ($1.9 million) in 2021. No amount was drawn down under the facilities as of December 31, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 0pt;">In 2023, we sold one solar power project to CSIF, our 14.54% owned affiliate in Japan, in the amount of JPY230.1 million ($1.6 million). In 2021, we sold two solar power projects to CSIF in the amount of JPY30.6 billion ($282.1 million).</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 2021, 2022 and 2023, we provided asset management service to CSIF in the amounts of JPY829.1 million ($7.5 million), JPY545.1 million ($4.2 million) and JPY1.4 billion ($10.0 million), respectively, and provided power services (O&amp;M) to CSIF in the amounts of JPY981.2 million ($9.2 million), JPY914.9 million ($7.0 million) and JPY984.5 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 12pt 0pt;">In 2023, we sold modules to subsidiaries of Marangatu Holding S.A., our 30% owned affiliate in Brazil with the remaining 70% ownership by a Brazilian investor, in the amount of $100.9 million.</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 2023, we sold modules to subsidiaries of Panati Holding S.A., our 30% owned affiliate in Brazil with the remaining 80% ownership by a Brazilian investor, in the amount of $67.5 million.</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 2021 and 2022, we sold modules to subsidiaries of Salgueiro Solar Holding S.A., our 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $0.3 million and $0.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 12pt 0pt;">In 2021 and 2022, we sold modules to subsidiaries of Francisco Sa Solar Holding S.A., our 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $24.9 million and $0.6 million, 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;">In 2021 and 2022, we sold modules to subsidiaries of Lavras Solar Holding S.A., our 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $30.1 million and $0.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 12pt 0pt;">In 2021, we sold modules to subsidiaries of Jaiba Solar Holding S.A., our 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amount of $7.1 million. </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 2021, 2022 and 2023, we provided battery energy storage solutions to subsidiaries of RE Crimson Holdings LLC, our 20% owned affiliate in the U.S. with the remaining 80% ownership by a Canadian infrastructure fund, in the amounts of $19.8 million, $367.4 million and $17.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 12pt 0pt;">In 2021, 2022 and 2023, 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 amounts of RMB10.8 million ($1.7 million), RMB34.8 million ($5.2 million) and RMB58.9 million ($8.3 million), 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;">In 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 RMB19.4 million ($3.0 million).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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></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;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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="_acba9575_ae1b_474b_980a_5fc1be219abb"></a><a id="ITEM8FINANCIALINFORMATION_288618"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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;">Canada Business Corporations</i> <i style="font-style:italic;">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 12pt 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 12pt 0pt;"><i style="font-style:italic;">Solar 1 China</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;">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-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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 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-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 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. Supreme Court 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;">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 12pt 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 12pt 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 12pt 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. 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 12pt 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;">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;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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. 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 12pt 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 12pt 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. 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%). 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 12pt 0pt;">The USDOC published the final results of the ninth administrative reviews in July 2023. The USDOC determined that the Canadian Solar entities subject to the ninth 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. The USDOC did not change our countervailing duty rate of 15.87% because the countervailing duty review was rescinded for the Canadian Solar entities subject to the ninth countervailing duty administrative review. The countervailing duty final results were amended in August 2023, but this amendment resulted in no change to USDOC&#8217;s determination to rescind the review with respect to Canadian Solar. We did not appeal USDOC&#8217;s final results of its ninth administrative reviews and, therefore, these decisions are final. </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 tenth and eleventh antidumping duty and countervailing duty administrative reviews were initiated in February 2023 and February 2024 and are currently underway. The USDOC is currently scheduled to release the final results of the tenth antidumping and countervailing duty administrative reviews in May 2024, subject to potential extensions. We submitted a no-shipment certification in the tenth administrative reviews. In its preliminary results, USDOC preliminarily determined that we had no shipments and stated its intent to rescind the reviews for us. Our antidumping duty and countervailing duty rates, therefore, are expected to remain the same at 0.00% and 15.87%, respectively. USDOC will likely issue preliminary results of the eleventh administrative reviews in late 2024 or early 2025.</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. In February 2024, the USDOC and USITC initiated the second five-year sunset reviews of the Solar 1 antidumping and countervailing duty orders, and those sunset reviews are currently underway.</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;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Solar 2 China</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;">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 12pt 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-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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></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;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 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 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 rescinded the eighth administrative review of the Solar 2 China antidumping duty order in July 2023 and therefore, our antidumping duty rates will remain unchanged for our Solar 2 China CSPV products. 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;text-align:justify;margin:0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar 3 Southeast Asia</i><i style="font-style:italic;text-decoration-line:none;"><br/></i><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;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On April 24, 2024, the American Alliance for Solar Manufacturing Trade Committee filed petitions requesting that the USDOC and USITC initiate investigations into whether new AD/CVD duties should be imposed on CSPV cells and modules imported from Cambodia, Malaysia, Thailand, and Vietnam. If the USDOC and USITC initiate these investigations, there is the potential for significant disruptions to imports of solar cells and modules from Cambodia, Malaysia, Thailand (including by THSM), and Vietnam. The USITC will issue its preliminary determinaton on June 7, 2024, and USDOC will likely announce its AD and CVD preliminary determinations on or around September 30 and November 27, 2024, respectively. Canadian Solar is reviewing the petitions, assessing the potential impacts on the Company, and determining appropriate actions to defend its interests.</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 12pt 0pt;"><i style="font-style:italic;">Section&#160;201 Safeguard</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;">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></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;"><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 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;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;">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;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-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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. In November 2023, the Federal Circuit reversed and remanded the CIT&#8217;s judgment, finding that the President had acted lawfully in issuing Proclamation 10101. Appellees have filed a petition for en banc rehearing in January 2024, and the Federal Circuit&#8217;s decision on the petition is pending. In October 2022, Canadian Solar filed an appeal at the CIT 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 had previously ruled &#8220;null and void&#8221; in SEIA. Canadian Solar&#8217;s appeal remains stayed pending final resolution of the SEIA appeal at the Federal Circuit.</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 12pt 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;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In late 2023, the USITC conducted its second midterm review of the safeguard measure, issuing its monitoring report in February 2024. The President must consider the USITC&#8217;s views but is not required to act prior to the expiration of the safeguard in February 2026.</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 12pt 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 12pt 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, excluding from its finding 195 W monocrystalline photovoltaic modules made of 72 monocrystalline cells, each cell being no more than 5 inches in width and height. 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 expiry review which 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 and declined to make a product exclusion on the Order for bifacial PV modules consisting of either 72 monocrystalline silicon photovoltaic cells or 144 monocrystalline silicon photovoltaic half-cells, with a power output exceeding 515 Watts and module efficiency exceeding 20.5%. 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 before the scheduled termination of the Order on March 24, 2026.</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;">Patent Dispute</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;">On March 25, 2024, Maxeon Solar Pte. Ltd. (&#8220;Maxeon&#8221;) filed a patent infringement lawsuit against Canadian Solar, Inc. in the U.S. District Court for the Eastern District of Texas. Maxeon alleges that by manufacturing, importing, selling, or offering for sale of its TOPCon (Tunnel Oxide Passivated Contact) solar modules in the United States, Canadian Solar, Inc., via its affiliates, has directly and indirectly infringed and continues to infringe upon three patents currently held by Maxeon. The three patents asserted by Maxeon are U.S. Patent Nos. 8222516, 8878053, and 11251315. Maxeon&#8217;s complaint requests the Court to grant, among other relief, a permanent injunction enjoining Canadian Solar, Inc. from the alleged infringement, and a judgment for monetary damages and fees. The specific amount of monetary damages has not been identified. Based on our preliminary assessment, we believe that our TOPCon solar modules do not infringe Maxeon&#8217;s asserted patents and intend to vigorously defend ourselves in the lawsuit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">From time to time, we face patent infringement claims and other disputes, which are inherently uncertain. Although we have been able to resolve such claims and disputes in the past without leaving a material adverse effect on our financial position, we cannot guarantee that any ongoing or potential disputes, if resolved unfavorably to us, will not have a material adverse effect on our business and results of operations. See also &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Our Company and Our Industry &#8211; 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 awards.&#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;">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;margin:0pt 0pt 12pt 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 12pt 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><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;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">We are a holding company incorporated under the laws of the Province of Ontario, Canada. We rely primarily on dividends and other income from our majority-owned operating subsidiaries, CSI Solar and Recurrent Energy, to fund cash, investment and financing requirements. CSI Solar is required to comply with the applicable PRC regulations when it pays dividends to us. See &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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="_588028d2_f65a_4ccf_97b5_ee0b07812ca8"></a><a id="ITEM9THEOFFERANDLISTING_523589"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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></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;"><a id="_77aac6fe_41be_46a3_838f_1ca1c323929b"></a><a id="ITEM10ADDITIONALINFORMATION_800687"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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;margin:0pt 0pt 12pt 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 12pt 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 12pt 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. 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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: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;">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 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">the director dies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 beco</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">mes disqualified pursuant to the above criteria.</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 12pt 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 12pt 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 12pt 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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></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;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 0pt;">General</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 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. 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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 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:12pt;"></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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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></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;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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 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 12pt 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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">(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 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:12pt;"></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 12pt 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 12pt 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 12pt 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 12pt 0pt;">Other than as disclosed in &#8220;Item 10. Additional Information&#8212;B. Articles&#8212;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;">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;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"/><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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"/><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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"/><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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"/><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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"/><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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"/><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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"/><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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"/><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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"/><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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:28.8pt;"/><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 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:12pt;"></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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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 12pt 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 12pt 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></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;"><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, 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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. </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 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. 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></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;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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><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 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 12pt 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 12pt 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 12pt 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></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;">148</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, 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 12pt 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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></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;">149</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, 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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></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;">150</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:12pt;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:12pt;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:12pt;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:12pt;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><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;">E</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;">Taxation</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 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 12pt 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 12pt 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, (a) 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 (b) 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 12pt 0pt;">This summary does not deal with special situations, such as the particular circumstances of traders or dealers, tax exempt entities, insurers or financial institutions, or other holders of special status or in special circumstances. Such holders, and all other holders who do not meet the criteria in clauses (a) and (b) above, 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 12pt 0pt;">For the purposes of the Canadian Tax Act, all amounts relating to the acquisition, holding or disposition of our common shares must generally be expressed in Canadian dollars. Amounts denominated in United States currency generally must be converted into Canadian dollars using the rate of exchange that is acceptable to the Canada Revenue Agency.</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 12pt 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 12pt 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 12pt 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;">151</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;">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 12pt 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 12pt 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 12pt 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 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 12pt 0pt;">This discussion applies only to a United States Holder (as defined below) that holds our common shares as capital assets (that is, property generally held for investment) for United States federal income tax purposes. 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 as:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">insurance companies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">regulated investment companies;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">entities subject to the United&#160;States anti-inversion rules;</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;">152</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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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-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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">persons whose functional currency is other than the United&#160;States dollar;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></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 12pt 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 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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) a court within the United States is able to exercise primary jurisdiction over its administration and one or more United States persons (as defined in the Code) have the authority to control all of its substantial decisions or (ii) 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 trust.</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;">153</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;"><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 12pt 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 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 States federal income tax principles, any distribution paid generally will be reported as a &#8220;dividend&#8221; for United States federal income tax purposes. Such dividends will not be eligible for the dividends-received deduction allowed to qualifying corporations under the Code.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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 be, subject to applicable limitations, 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 12pt 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 12pt 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 12pt 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></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;">154</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;"><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 12pt 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 12pt 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><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;">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 12pt 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, 2023, though there can be no assurances in this regard. 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 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 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></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 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></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;">155</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;">Changes in the value of our assets and/or 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 12pt 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 12pt 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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">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><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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#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:12pt;"></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 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 12pt 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></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;">156</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 you make a mark-to-market election, it will be effective for the taxable year for which the election is made and all subsequent taxable years unless our common shares are no longer regularly traded on a qualified exchange or other market, or the IRS consents to the revocation of the election. United States Holders should consult their tax advisors regarding the availability of the mark-to-market election and whether making the election would be advisable in such United States Holder&#8217;s 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;">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 12pt 0pt;">In certain circumstances, a United States shareholder 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 such 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 12pt 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 12pt 0pt;">Information reporting to the IRS and backup withholding generally will apply to dividends in respect of, and the proceeds from the sale or exchange of, our common shares that are paid to you within the United States (and in certain cases, outside the United States), unless you furnish a correct taxpayer identification number and make any other required certification (generally on IRS Form W-9), or 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 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 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 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 12pt 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 12pt 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;">157</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;"><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 12pt 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 12pt 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 12pt 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 12pt 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:12pt;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:12pt;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:12pt;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:12pt;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></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;">158</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:12pt;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:12pt;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 12pt 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><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 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 12pt 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:12pt;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:12pt;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 0pt 12pt 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;margin:0pt 0pt 12pt 0pt;"><span style="display:inline-block;text-align:left;text-indent:0pt;width:10.8pt;"><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;">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="_7d9980b1_be87_47ab_9d56_6d928d3c5e09"></a><a id="ITEM11QUANTITATIVEANDQUALITATIVEDISCLOSU"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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. We manage 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 2021, 2022 and 2023 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. 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, Euros and Thai baht. 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 gain of $77.7 million in 2022 and a foreign exchange gain of $30.6 million in 2023. 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 12pt 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 loss on change in fair value of foreign currency derivatives, net of $40.5 million in 2022 and a loss on change in fair value of foreign currency derivatives, net of $27.5 million in 2023. 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 12pt 0pt;">As of December 31, 2023, we had approximately $280.7 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 $28.1 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;">159</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, 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 12pt 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 12pt 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 12pt 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 $17.4 million from debt outstanding as of December 31, 2023 (a hypothetical increase of 1% would have resulted in an increase in annual interest expense of approximately $12.1 million from debt outstanding as of December 31, 2022).</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;">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 12pt 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 battery energy storage solutions, 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 12pt 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 and components. Accordingly, we are exposed to price changes in the raw materials and components used in our solar modules and battery energy storage solutions. </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 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 12pt 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 12pt 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 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></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;">160</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;">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><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, 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="_aa9e304b_dfea_4637_8778_62aecc84b42f"></a><a id="ITEM12DESCRIPTIONOFSECURITIESOTHERTHANEQ"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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;">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="_65433525_2f81_4414_ba6f_0fe1fb879f29"></a><a id="PARTII_599435"></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 II</b></p><a id="ITEM13DEFAULTSDIVIDENDARREARAGESANDDELIN"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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, 2021, 2022 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_f43533b5_9164_414d_ae20_b0c2eef11e68"></a><a id="ITEM14MATERIALMODIFICATIONSTOTHERIGHTSOF"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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></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;">161</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="_2dfd49cf_d7db_4751_a9b3_9f9b7f3110d2"></a><a id="ITEM15CONTROLSANDPROCEDURES_777680"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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, 2023 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, 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;">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, 2023, has also audited the effectiveness of internal control over financial reporting as of December 31, 2023. </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;">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 12pt 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, 2023, 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, 2023, 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, 2023, of the Company and our report dated April 26, 2024, expressed an unqualified opinion on those financial statements.</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;">162</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-indent:-18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 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;26, 2024</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 12pt 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="_78f8728c_06f7_486b_a4ea_6d23b5a9a886"></a><a id="ITEM16AAUDITCOMMITTEEFINANCIALEXPERT_528"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 each of Lap Tat Arthur Wong and Leslie Li Hsien Chang 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></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;">163</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="_fb368c79_2225_4685_ae26_610b2c691fd3"></a><a id="ITEM16BCODEOFETHICS_239445"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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="_d38093f1_a7ad_4888_afa6_bcf3c6f03180"></a><a id="ITEM16CPRINCIPALACCOUNTANTFEESANDSERVICE"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 and its affiliates, 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;">2022</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;">2023</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,630,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;"> 805,685</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;"> 816,130</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;"> 117,738</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;"> 57,128</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:12pt;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:12pt;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 and its affiliates 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 2022, &#8220;Audit related fees&#8221; included approximately $0.5 million for the statutory audits and agreed upon procedures of our subsidiary companies. In 2023, &#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 2023 were for services rendered by our principal auditors for tax compliance, tax advice and tax planning.</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;">The policy of our audit committee is to pre-approve all audit and non-audit services provided by Deloitte Touche Tohmatsu Certified Public Accountants LLP and its affiliates, 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><a id="_ffe3254c_3034_44d0_8efa_dfa9b8f59f0b"></a><a id="ITEM16DEXEMPTIONSFROMTHELISTINGSTANDARDS"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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="_22e3db92_7239_47c9_9cfd_68427db49c12"></a><a id="ITEM16EPURCHASESOFEQUITYSECURITIESBYTHEI"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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><a id="_df082824_9a63_4726_a921_c54562dc5ef5"></a><a id="ITEM16FCHANGEINREGISTRANTSCERTIFYINGACCO"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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="_0db8e3ce_a425_4c07_a85e_db1b5f0fe63a"></a><a id="ITEM16GCORPORATEGOVERNANCE_709109"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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></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;">164</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="_1fe192bc_76a2_4b82_b93d_ac8f2e07b738"></a><a id="ITEM16HMINESAFETYDISCLOSURE_98133"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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="_e6e49809_0a41_4faf_a959_631b30b6caba"></a><a id="ITEM16IDISCLOSUREREGARDINGFOREIGNJURISDI"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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;">Not applicable. </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="_098e2423_2187_4a8f_8411_9f20eaa6a777"></a><a id="ITEM16JINSIDERTRADINGPOLICIES_767849"></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;">We have adopted an insider trading policy governing the purchase, sale, and other dispositions of our securities by our directors, senior management, and employees that are reasonably designed to promote compliance with applicable insider trading laws, rules and regulations, and the NASDAQ listing rules. We have posted our insider trading policy on our website www.canadiansolar.com.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="_36a54f94_8a15_40c2_be4d_df71d4179a80"></a><a id="ITEM16KCYBERSECURITY_698295"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">ITEM 16K&#160;&#160;&#160;</b><span style="font-style:italic;font-weight:bold;">CYBERSECURITY</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Cybersecurity Risk Management</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 collect and maintain information in digital form that is necessary to conduct operations and engage with our customers and business partners, and we are increasingly dependent on information technology systems and network infrastructure to operate our business. We rely on information technology systems to keep financial records, manage our manufacturing operations, maintain quality control, fulfill customer orders, facilitate our research and development initiatives, maintain corporate records, communicate with staff and external parties and operate other critical functions. We operate some of these systems, but we also rely on third-party providers for a range of software, products and services that are critical to our operations and business. Both our and our third-party providers&#8217; information technology systems are vulnerable to threat from cyber intrusion, ransomware, denial of service, phishing, account takeover, data manipulation, and other cyber misconduct. </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 information technology organization seeks to employ best practices, including the implementation of a cybersecurity risk management program intended to protect the confidentiality, integrity and availability of our critical systems and information. Our cybersecurity risk management program includes several processes, including, but not limited to, the following:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Cybersecurity incident response plan. The plan outlines the processes and procedures that we should follow to respond to, remediate and resolve a security incident involving a potential or actual compromise of our digital information. The plan also describes the structure, roles and responsibilities of internal information technology personnel involved in responding to such incidents and provides a process for alerting management of such incidents. The cybersecurity incident response plan is reviewed on an annual basis and revised as necessary.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Incident detection and prevention. We have implemented and maintained technologies and solutions to assist in the prevention of potential cybersecurity incidents. These safeguards include, among other things, intrusion prevention and detection systems, software patch management, including anti-virus and anti-malware installations, and ongoing vulnerability assessments.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">Internal user and third-party information technology access. We employ various security measures, including data encryption, firewalls, email security and network segmentation with access control lists to restrict data availability to authorized systems and networks.</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 style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:10.8pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Information technology change management and physical security. We implement safeguards, protocols and procedures to protect data integrity, device vulnerabilities and secure our information technology infrastructure through network tools and systems. We aim to enhance information security by consolidating business systems and information systems on integrated platforms. We further conduct cybersecurity awareness training for our employees. </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 12pt 0pt;">We designed and assessed our program based on industry standards and framework, including ISO (&#8220;International Organization for Standardization&#8221;), NIST (&#8220;National Institute of Standards and Technology&#8221;), and ITIL (&#8220;Information Technology Infrastructure Library&#8221;). While this does not imply that we meet any particular technical standards, specifications or requirements, we use these industry standards and framework as a guide to assist us to identify, assess and manage cybersecurity risks relevant to 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;">165</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 work with third party cybersecurity professionals to conduct security assessments of our enterprise-wide cybersecurity practices, including penetration testing, and identify areas for continuous improvement within the information security program. </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 have implemented various measures to protect our information technology systems and mitigate cybersecurity threats, cybersecurity risk can never be eliminated, and we may from time to time be exposed to risks from cybersecurity threats. While we have not experienced any material cybersecurity threats or incidents as of the date of this Annual Report on Form 20-F, there can be no guarantee that we will not be the subject of future successful attacks, threats, or incidents that may materially affect us, including our business strategy, results of operations, or financial condition.</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 more information regarding the risks associated with cybersecurity incidents, see &#8220;Item 3. Key Information&#8212;D. Risk Factors&#8212;Risks Related to Doing Business in China&#8212;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.&#8221;</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Cybersecurity Oversight and Governance</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 board of directors oversees the Company&#8217;s risk management processes directly and through its committees. Our cybersecurity risk management program is integrated into our overall enterprise risk management program, and shares common methodologies, reporting channels and governance processes that apply across the enterprise risk management program to other legal, compliance, strategic, operational and financial risk areas. </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 Nominating and Corporate Governance Committee oversees management&#8217;s implementation of our cybersecurity risk management program. The Nominating and Corporate Governance Committee receives periodic reports from management on our cybersecurity risks. In addition, our management updates the Nominating and Corporate Governance Committee, as necessary, regarding any material cyber security incidents, as well as any incidents with lesser impact potential. The Nominating and Corporate Governance Committee reports to the full board of directors regarding its activities, including those related to cybersecurity. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Our management supervises efforts to prevent, detect, mitigate and remediate cybersecurity risks and incidents through various means, which may include briefings from internal information technology personnel; threat intelligence and other information obtained, including external consultants engaged by us; and alerts and reports produced by security tools deployed in the information technology environment. Our internal information technology personnel who support our information security program have relevant educational and industry experience, including holding similar positions at large companies.</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;">166</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="_ae85f6d5_4a89_487b_82d0_145c46e20e26"></a><a id="PARTIII_868957"></a><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;">PART III</b></p><a id="ITEM17FINANCIALSTATEMENTS_447947"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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="_dd805f5b_c0df_4c61_88f1_38c44261abf1"></a><a id="ITEM18FINANCIALSTATEMENTS_390910"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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="font-size:9pt;visibility:hidden;">&#8203;</span></p><a id="_14dffe0c_1f06_4ee0_b53a_5d3a95963c77"></a><a id="ITEM19EXHIBITS_403742"></a><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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 2pt 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 2pt 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 2pt 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/000110465923046692/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><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-style:normal;font-weight:normal;">(incorporated by reference to Exhibit 1.1 of our annual report on Form 20-F for the year ended December 31, 2022 (File No. 001-33107), initially filed with the Securities and Exchange Commission on April 18, 2023).</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 2pt 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 2pt 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 2pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1375877/000110465923046692/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. (incorporated by reference to Exhibit 2.1 of our annual report on Form 20-F for the year ended December 31, 2022 (File No. 001-33107), initially filed with the Securities and Exchange Commission on April 18, 2023)</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 2pt 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 2pt 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 2pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/1375877/000110465923046692/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 (incorporated by reference to Exhibit 2.2 of our annual report on Form 20-F for the year ended December 31, 2022 (File No. 001-33107), initially filed with the Securities and Exchange Commission on April 18, 2023).</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 2pt 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 2pt 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 2pt 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 2pt 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 2pt 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 2pt 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 2pt 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 2pt 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 2pt 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 2pt 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 2pt 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 2pt 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 2pt 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 2pt 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 2pt 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 2pt 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 2pt 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 2pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20231231xex8d1.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 2pt 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 2pt 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 2pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20231231xex12d1.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 2pt 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 2pt 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 2pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20231231xex12d2.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 2pt 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 2pt 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 2pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20231231xex13d1.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 2pt 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 2pt 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 2pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20231231xex13d2.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 2pt 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 2pt 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 2pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;font-size:9.5pt;" href="csiq-20231231xex15d1.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 2pt 0pt;"><span style="font-size:9.5pt;">97.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 2pt 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 2pt 0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="csiq-20231231xex97d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Clawback Policy of the Registrant</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 2pt 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 2pt 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 2pt 0pt;"><span style="font-size:9.5pt;">Financial information from registrant for the year ended December 31, 2023 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 2pt 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 2pt 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 2pt 0pt;"><span style="font-size:9.5pt;">(i) Consolidated Balance Sheets as of December 31, 2021 and 2022; (ii) Consolidated Statements of Operations for the Years Ended December 31, 2021, 2022 and 2023; (iii) Consolidated Statements of Comprehensive Income for the Years Ended December 31, 2021, 2022 and 2023; (iv) Consolidated Statements of Changes in Equity for the Years Ended December 31, 2021, 2022 and 2023; (v) Consolidated Statements of Cash Flows for the Years Ended December 31, 2023, 2022 and 2023; (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;">167</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="_f99765af_7ec8_4623_923e_3fb581b89516"></a><a id="SIGNATURES_548624"></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;">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 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 26, 2024</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;">168</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="_2832e7e6_5ab2_4b2c_b1a6_46c4f8c6ce60"></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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:AuditorFirmId" id="Narr_LFGNYPCJxUOx0tu9w4TLwA">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, 2022 and 2023</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, 2021, 2022 and 2023</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, 2021, 2022 and 2023</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, 2021, 2022 and 2023</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, 2021, 2022 and 2023</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-73</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="_Hlk132685560"></a><a id="_2746bd3c_19f2_4e95_b669_b98f05e24cae"></a><a id="REPORTOFINDEPENDENTREGISTEREDPUBLICACCOU"></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;">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 12pt 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 &#8220;Company&#8221;) as of December 31, 2023 and 2022, 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, 2023, and the related notes and the financial statement schedule (collectively referred to as the &#8220;financial statements&#8221;). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2023 and 2022, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2023, 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&#8217;s internal control over financial reporting as of December 31, 2023, 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 26, 2024, expressed an unqualified opinion on the Company&#8217;s internal control over financial reporting.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;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 12pt 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 12pt 0pt;"><b style="font-weight:bold;">Revenue Recognition - solar power and battery energy storage asset sales - Refer to Note 2 (y) and Note 22 to the financial statements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 power and battery energy storage assets at the point in time when a customer obtains control of the solar power and battery energy storage assets. The dollar amount of revenues from the sale of solar power and battery energy storage assets was $399,098 thousand for the year ended December 31, 2023. The solar power and battery energy storage assets are often held in separate legal entities which are formed for the special purpose of constructing the solar power and battery energy storage assets, which the Company refers to as &#8220;project companies&#8221;. Management of the Company use its judgment to identify performance obligations, and to estimate the variable consideration, if any, as part of the transaction price.</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;">We identified revenue recognition for sales of solar power and battery energy storage assets as a critical audit matter because of the judgments necessary for management to identify performance obligations, and to estimate the variable consideration as part of transaction 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 12pt 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 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 power and battery energy storage assets, including management&#8217;s controls over the conclusion with respect to 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:10pt;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 power and battery energy storage asset 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:10pt;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 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&#8217;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 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 12pt 0pt;">/s/ <ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:AuditorName" id="Narr_9Lr3eugdA0-EwcOxsIdRCQ">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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="dei:AuditorLocation" id="Narr_00exdntLzUmQ154lyCuHMw">Shanghai, China</ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">April 26, 2024</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="_8f417c61_832a_49c0_b8dd_3e6f91634458"></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_nS7h7kSsJU6VH2MU-lELKA_1_2"></a><a id="Tc_pXq8nYc6tE2JENqesJAxcA_1_4"></a><a id="Tc_ZCnLPzwMRk2UnBFs283eQw_2_2"></a><a id="Tc_V1MYuqgCQE-jF5IcfckkYA_2_4"></a><a id="Tc_u2NQQUsnqkia2ZTNsWsYzA_3_2"></a><a id="Tc_ktegS9SYYUSIH6QrZO-hZA_4_0"></a><a id="Tc_dMNYhhb88E2Ko2t3zQZUXw_5_0"></a><a id="Tc_i1tv6aBFgUmnIHHdO2JxRA_6_0"></a><a id="Tc_8HkYxqEOS0O24ot0Fn_bVA_7_0"></a><a id="Tc_7DYcnZbJTkuYkhu6PhXwWA_8_0"></a><a id="Tc_zf4hvvkGZkSOOOp7EQB09w_9_0"></a><a id="Tc_IR4z9EZwaUeBvzqO6CXUvw_10_0"></a><a id="Tc_R5o4irhTqE6Xgi8vj52T9A_11_0"></a><a id="Tc_LWLXqLfMUUueYNbI-UyfcA_12_0"></a><a id="Tc_9JdyDCi4U0OvCz_rNv_D3w_13_0"></a><a id="Tc_Gj0aOo0XWEyPk0T2HJ3big_14_0"></a><a id="Tc_CJGEVe0oo0m4O34TMKOt4g_15_0"></a><a id="Tc_-9CURKsjUk-G4gDAfe7Dww_16_0"></a><a id="Tc_IGc4lsuWvEClq9jKNCYiUw_17_0"></a><a id="Tc_7IO9fo0vZ0uP2QEauayWiQ_18_0"></a><a id="Tc_lSAo8r7EekaR1hSQTCbCBQ_19_0"></a><a id="Tc_Op3JKl-tf06SRnmLI6_GSw_20_0"></a><a id="Tc_kpVbVPw6NE26ytwveiAtgQ_21_0"></a><a id="Tc__ktD9p_yUEOJdSzEBNkCQg_22_0"></a><a id="Tc_0P_G6G5BmE-gqJoM4B7iEg_23_0"></a><a id="Tc_XBru18zkc0qkcVVPVAbxYg_24_0"></a><a id="Tc_CVbokNGIVEm-yR5zXHx5sw_25_0"></a><a id="Tc_QjEqecRaw0yjue7Ji8OQuw_26_0"></a><a id="Tc_RFMPxdx01U6ZmyMCm0t7EA_27_0"></a><a id="Tc_KyKgicCRbE6-il96r6rBCw_28_0"></a><a id="Tc__5TIFapzXkO1yaCZ8aXyEg_29_0"></a><a id="Tc_AdpfjiEbaUm4DCERtVzAMQ_30_0"></a><a id="Tc_o0uOD4Ma-ECjwhq6EJmamg_31_0"></a><a id="Tc_llKMC9ff_Uyf-3JSQJisag_32_0"></a><a id="Tc_8rtbwfTkXU2srf1xFK2SwA_33_0"></a><a id="Tc_9wtzjFxn6UO9g3axuSAofA_34_0"></a><a id="Tc_ANnrBS42nUi7zU1bCIrSvg_35_0"></a><a id="Tc_yxqeMEgKIE-Jxz38I1lJ6A_36_0"></a><a id="Tc_3EDbXOqsWUulARIxCy5aMg_37_0"></a><a id="Tc_grunV1JS9kaJtVYV9wZ8Sw_38_0"></a><a id="Tc_xH7781ZL2EGrGAwWdqdKMg_39_0"></a><a id="Tc_UZgKFo3PQ0i79G6Eq5pLKw_40_0"></a><a id="Tc_wfBczC8KTUe_hKz8zxjgtA_41_0"></a><a id="Tc_WuPKjJCqAkmBhckVBWWu2g_42_0"></a><a id="Tc_nXBvZY2i9kKR4sgciuxmmw_43_0"></a><a id="Tc_0kxF1kQqpEqNy8GEETB0mw_44_0"></a><a id="Tc_fEfwkL9cpUCmcM_Vl-bn2Q_45_0"></a><a id="Tc_o1AAteABCUWk18tG5LTW6w_46_0"></a><a id="Tc_qG4XxralFkS5nSDiMBLl0Q_47_0"></a><a id="Tc_ReqK0HMmQEOkLMHzxn6G1A_48_0"></a><a id="Tc_RrTI4H2kEEm3em5E_HdBqw_49_0"></a><a id="Tc__dbg3hJzrEygJM0OqJqIpQ_50_0"></a><a id="Tc_raezf-S3lUm9ehK5yHX1RQ_51_0"></a><a id="Tc_L5WEX5szPkqJE8YClvOKNA_52_0"></a><a id="Tc_1ZqRQfBywkqY8zSIYeaXCA_53_0"></a><a id="Tc_meQ6oJt9Lk-auBDJAv-ERQ_54_0"></a><a id="Tc_uosOyXOHakyA7A2HXTlOnA_55_0"></a><a id="Tc_VWYi3QGYRUWauK8dsJ_tNw_56_0"></a><a id="Tc_7aeHz_saMEOYlI-tHzeO5A_57_0"></a><a id="Tc_JS7dftslvk63k_fvJxWGHw_58_0"></a><a id="Tc_t3hsRmPbKkiGezymN49EIA_59_0"></a><a id="Tc_DBPfZ97f4UaGL-qw-MD27A_60_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.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.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.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: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.54%;margin: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.85%;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.54%;margin: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:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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;">&#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:7pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="6" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:71.54%;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.15%;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.54%;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.85%;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.54%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.54%;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.85%;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.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_Bs7kdnRAd0icFz9HCfAwhw_7_2">981,434</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_e5jptfdXiUmf2-cdSAFp2w_7_5">1,938,689</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_eft8CtpWeEy_ddyV77n37A_8_2">978,116</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_vc3_tsw1i0G4OUe-GAWg2w_8_5">999,933</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_sJAO3Vf7XUiWKJKq72ieoA_9_2">970,950</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_dM04Jcp5MEOQTSVqwVl9pA_9_5">904,943</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_NFsq7mXKU0W4SxuHAfsmfg_10_2">57,770</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_YEU65azcxUikcuaZsmrrOw_10_5">101,435</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_M8SCuvwdX0yIO_09T0ld_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherReceivablesNetCurrent" scale="3" id="Tc_w2z1Q6rF0EqTb0e2Sgutuw_11_2">48,614</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_BFgOCPFA00-ZkpkVA9IU5A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherReceivablesNetCurrent" scale="3" id="Tc_SZHTppufHkuewXLLejeSVQ_11_5">40,582</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_xdF8oT6jOEm50BLRTgwvmw_12_2">1,524,095</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_O0gXEkERWE2p4eSJgKifsw_12_5">1,179,641</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValueAddedTaxReceivableCurrent" scale="3" id="Tc_AQ-hG0RjPU2ZhOZlTpkKJA_13_2">158,773</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValueAddedTaxReceivableCurrent" scale="3" id="Tc_YzM5oLv57UqI1z6lKAtlXg_13_5">162,737</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_5Mwly_siLUCA2TRp1siWyA_14_2">253,484</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc__OASyL1z0EuKWH5sTtho-w_14_5">193,818</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeAssetsCurrent" scale="3" id="Tc_Opg6OfFUzESfkXchmqgrKA_15_2">17,516</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeAssetsCurrent" scale="3" id="Tc_vlqBF6Kj7k-ox__gZAKiFw_15_5">9,282</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_uskuh_LKMkKv6m_E8pl5jA_16_2">385,964</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_30DSyg8t3E6m1i4Qec2bdw_16_5">280,793</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_RIkO5S-AhEeWuZfbjzHNwQ_17_2">267,941</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_zasL6IankUSWmcVdn8-Otg_17_5">283,600</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_Y6UliZ898keLfDj-eptsmA_18_2">5,644,657</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_Zv8gNNenhU6zoidEVEP_lg_18_5">6,095,453</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc_9U7edsRoREOnpLxm6Po8Cw_19_2">9,953</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc_1r9JoIDCvUyzIQcTUfT5rg_19_5">7,810</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc__XhtD2jHzEuipfUfFacAMg_20_2">1,826,643</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_HDL2EppI4EK4idei9Gak5g_20_5">3,088,442</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_PlJQxmgDm0ilEch3dFGD-g_21_2">364,816</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_BZuZ_xjit0eIOgyQNxRERA_21_5">951,513</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_7JkJtdmE_E6FJR98viRC9Q_22_2">229,226</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_Ptpr7ncshEGovBQl-c8UnQ_22_5">263,458</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:AdvancesOnInventoryPurchasesNonCurrent" scale="3" id="Tc_FAP2A4lwakyFgGJWBw4-9A_23_2">65,352</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:AdvancesOnInventoryPurchasesNonCurrent" scale="3" id="Tc_-DMDb2pPC0KVjQEa24Q2SA_23_5">132,218</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_Ivrf_xEBAkmMSq8o_3htKA_24_2">115,784</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_KjU_j8RbFE6Ed6VuJeQXDA_24_5">236,928</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_k3I2AoWh6UO2U7CPD04CWQ_25_2">17,530</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_fPW3Rl__cke1P0-PosZ7Mg_25_5">19,727</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_0m9bEFWaE0a16qR2nVOIzw_26_2">438,529</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_5Wi6dkFbPkaJGbtiHwZV2Q_26_5">576,793</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_n5yKdUVXg0mqa1ChaoCKiA_27_2">103,600</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_sHocX7gjtUSo8Fn6tHRH4A_27_5">237,007</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrent" scale="3" id="Tc_jzby5wZ1TEeIOpQCnrvvtQ_28_2">33,489</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrent" scale="3" id="Tc_DChqDAm4eUCMQx_nTY6cSQ_28_5">32,313</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_GWlYhSpYD0Wjvn8uWD0IdA_29_2">187,549</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_HiUKhx_sJ0exPJ6pOyt90A_29_5">254,098</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_eyLhCGMztUWuoJpXhjouhA_30_2">9,037,128</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_10CFHhHyW0ORv_IWZVYuxw_30_5">11,895,760</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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.85%;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.54%;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.85%;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.54%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_MCfN8aqiAkm6fuMNMToA0Q_34_2">1,443,816</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_6wMkebzNikCGnErBFT1Y6w_34_5">1,805,198</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableTradeCurrent" scale="3" id="Tc_L6o-kjdhT0uq9g2NZ4nkvA_35_2">805,300</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableTradeCurrent" scale="3" id="Tc_476f1jOeaEaKXmIfQXzwFA_35_5">813,677</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Tc_l3VZjYigv0-kC8I1CryfaQ_36_2">1,493,399</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Tc_0gsyLOcEzUypi25z-W9rUw_36_5">878,285</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_M8SCuvwdX0yIO_09T0ld_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_zUlgko2dzUGlmc9lAbb4Gg_37_2">89</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_BFgOCPFA00-ZkpkVA9IU5A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_5zGLxVogK02mr-GgU51SJA_37_5">511</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableOtherCurrent" scale="3" id="Tc_MyDYgi3vAEivZkPOJlTXxw_38_2">853,040</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableOtherCurrent" scale="3" id="Tc_2U8SWR_nW0SfRHW3JivhnA_38_5">1,359,679</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_dL_2p26fpUaL6TfQ6fq26g_39_2">334,943</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_8B6Yo3T7JkWyCflqkZAQuA_39_5">392,308</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilitiesCurrent" scale="3" id="Tc_5H9N75JQLE-SLkFX02UyjA_40_2">25,359</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilitiesCurrent" scale="3" id="Tc_XGgJrwc-j0Ki4-UTgrPpfg_40_5">6,702</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_rraGSnCZw0SP2SsNBO3oPw_41_2">9,810</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_RMvuwjZ1akKYJSeM-1QUEw_41_5">20,204</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_NonrelatedPartyMember_0h-PgT-Lg0uWZZeFBAeWrQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_6rfI_foGhEq9SJl_eAeHEA_42_2">293,012</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_NonrelatedPartyMember_B1s0DcswmkmkLCgkYRES3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_aY8DgtQAREaewfKBmoxJEg_42_5">587,827</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_4qz3BMSjhUO2kHVejL3fVA_43_2">5,258,768</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_VaO1HH0ShUePL1PluX-FQA_43_5">5,864,391</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_2CSwpEgaxkmXH_9Q41Y__A_44_2">813,406</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_sYIsMxOM0EeAPEmwrtqZbA_44_5">1,265,965</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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;">Green bonds and 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:GreenBondsAndConvertibleDebtNoncurrent" scale="3" id="Tc_7b-Ju_w67kK8wVOmdzcU7Q_45_2">257,615</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:GreenBondsAndConvertibleDebtNoncurrent" scale="3" id="Tc_bn9CfqmOhkWhZj6ZC5ynjQ_45_5">389,033</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_0p174N76oUuhZkjvKpee4w_46_2">5,730</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_n6ziqMOh7EK8gJvkY7iuRQ_46_5">5,701</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_YdFsAoWkr0WRKf1WtPTYdw_47_2">66,630</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_qAfiYLgYpEuRlNH6k9X19g_47_5">82,828</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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;">Operating lease 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_pThpIs6rsE6OUTCO7WlJFw_48_2">25,714</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_F7irSVK_zE-j_53beW7eJA_48_5">116,846</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="Tc_7i51TfpvN0q47O_G5uEX4A_49_2">302,571</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesNoncurrent" scale="3" id="Tc_rsWAS7-O_0StfVbh7KDrLw_49_5">465,752</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_vS6SEV5OJkWGVIhA8mPvZQ_50_2">6,730,434</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_9bdfTkNWdk6OBZwMmjBUGw_50_5">8,190,516</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.54%;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.85%;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.54%;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;">Common shares &#8211; <ix:nonFraction unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_HciDX9EPp0iDRTo0kNwbIw"><ix:nonFraction unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_SxF6O4C_QEWdkBgc9rpiNA">no</ix:nonFraction></ix:nonFraction> par value: unlimited authorized shares, <ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_IJn3RUu1nke1S1pBLeNgHw"><ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_6jLDzNveBEuz9PVuYesNzw">64,506,055</ix:nonFraction></ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_CBmW_MztH0i6h_W1ifX1kg"><ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_-vN-mi6yjUi0xNVYVxMtWA">66,158,741</ix:nonFraction></ix:nonFraction> shares issued and outstanding at December 31, 2022 and 2023, respectively</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_oevOSV-PP0aWShv2iERbjQ_53_2">835,543</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_N17YK_9i_U-RiaVVjcCNlQ_53_5">835,543</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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 2.25pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_8vxbtE1gnEa6VGOaioBZTQ_54_2">1,127</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_OR2M9hFhIU-LnTNX0lDqXw_54_5">292,737</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_ztQt2_nJyUGjr1LDXoF4sw_55_2">1,275,520</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_EgT9rn7w5UqtFVG-tO7Nuw_55_5">1,549,707</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_GxQQJxFBIEi-0KUI2MXepw_56_2">170,551</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_dQXXnYy5KUmkxrurK0WdYg_56_5">118,744</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_z21e64-RrUWec7Knn2T2KQ_57_2">1,941,639</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_EI31DWz8xUGQPW8JLSVxPg_57_5">2,559,243</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterest" scale="3" id="Tc_7dPVePTbPU-AOIbHTtG96g_58_2">365,055</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterest" scale="3" id="Tc_pRs9HIorj0eDY26mcNp0SQ_58_5">1,146,001</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_R1a0p5X9lkGLlig9rhd0nw_59_2">2,306,694</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_Xu9dqbGjZEecdMjnFOnvng_59_5">3,705,244</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:71.54%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_dzzprRoZCkOKjDBmF2ab6A_60_2">9,037,128</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_NxDzI6jaXkWjGq4TlzHTiw_60_5">11,895,760</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="_1a2c0887_a658_4b09_a1ab_84410228c281"></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_n5mG6-H2oUSAROmAWmmJNQ_1_2"></a><a id="Tc_EMgfCJokB0qAiu-KahLZ0g_2_2"></a><a id="Tc_e_2nwHrhl0eT2ammHXWnQA_2_5"></a><a id="Tc_tuVryldFPk63OvqyRhuQ_Q_2_8"></a><a id="Tc_3LsF0HC0HEa-k1mOBkzg_g_3_2"></a><a id="Tc_Aqs84Q1UpEWDSIsOo2S8RA_4_0"></a><a id="Tc_lWn8rgPXS0-MxMyYdDcvhQ_5_0"></a><a id="Tc_Q85zrMOZo0ubpunhVJW1aA_6_0"></a><a id="Tc_FQuUfoI9HkWNdsqEWWdTLw_7_0"></a><a id="Tc_5Hk0Cx4l_EqadtZmRSS3uA_8_0"></a><a id="Tc_zklL5ADh5kG92UDPAAmiAg_9_0"></a><a id="Tc_6jfr4XiaoUOhlD4WfPyuow_10_0"></a><a id="Tc_MIKnR4yaFUKV7VwgSZA39Q_11_0"></a><a id="Tc_UISshd6mOkaPntShnJdqrQ_12_0"></a><a id="Tc_dY4FcBtTgEKlBODxcSxuBg_13_0"></a><a id="Tc_IWVGQSR9U0aSIW_fAetopg_14_0"></a><a id="Tc_JsR-V6IDPECdU90kAvU69A_15_0"></a><a id="Tc_wpoZ-pn2b0iUl-JiGuVw3g_16_0"></a><a id="Tc_EaVhkbFhVUCdHVcPPyGb0A_17_0"></a><a id="Tc_D1HXPznTgUiEiT_FjoNhKw_18_0"></a><a id="Tc_tRD9mlw4qk-NYV_k_49VIg_19_0"></a><a id="Tc_xH-z0W_hZ02hsEH6HqUNtA_20_0"></a><a id="Tc_u6Xw1S8fnkea6zfUYKBstw_21_0"></a><a id="Tc_tt2kZ0nwJUST2iB29zdbuQ_22_0"></a><a id="Tc_bRMcsYvYvk6drbRRj4hl1A_23_0"></a><a id="Tc_xeLrY3xp30eUSvfIW_mpFQ_24_0"></a><a id="Tc_DrlNeoDemUmtjWURzw-Irw_25_0"></a><a id="Tc_STIlGhRGEkOn-QmBjvKpXg_26_0"></a><a id="Tc_JaPAAGqQl0StdWXCaSxOGw_27_0"></a><a id="Tc_gHMgTzIOjEy4D0Yi2RRw4w_27_2"></a><a id="Tc_VKPq2t2nc0u3CCT6-yJQig_27_5"></a><a id="Tc_Q5wnGusTKk2OnLBJS4gvXw_27_8"></a><a id="Tc_f2pDLDC9JEqxqi4l6DcJ2g_28_0"></a><a id="Tc_Igjz8zMP6UmzGVgdmCADKA_29_0"></a><a id="Tc_8n8WIPUYLkOSTXGfx1Ci7w_29_2"></a><a id="Tc_hVligBbWJU2pwf006Y3Vyg_29_5"></a><a id="Tc_2QfQCgV6AEKbGp7-GFp4Sg_29_8"></a><a id="Tc_5_Li4UY8lkilfwf4jjkXOQ_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.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.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.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.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><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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.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><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;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;">2023</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.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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;">(In&#160;Thousands&#160;of&#160;U.S.&#160;Dollars,&#160;except&#160;share and&#160;per&#160;share&#160;data)</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_OwC8zcB1f0K42KjjceES1A_4_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_robYoDLCCECoUAnq3V5QbA_4_6">7,468,610</ix:nonFraction></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;"> <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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_StBl-NsyS0O3HZFfxqQYNg_4_9">7,613,626</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_07JdhzOmc0y97HX1ZvxJ0A_5_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_2vsgd6WLOEqZtqIJjhl8sw_5_6">6,205,474</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_gQoVaexVgkiNQARTRSuA3g_5_9">6,333,643</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_UbMTCOBLq0CJvywqfIgTUw_6_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_UpvzoBwjKU2aHLuzDdpz7A_6_6">1,263,136</ix:nonFraction></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;"> <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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_Qqx1YPJlNEqHYgUfkIM-EA_6_9">1,279,983</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.47%;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><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="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.38%;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="Tc_Uw-NygjNqE-AD3TKR52INA_8_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="Tc_GW6BgqYgJESDcpyFlbf12A_8_6">558,926</ix:nonFraction></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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingAndMarketingExpense" scale="3" id="Tc_59anxOt3vEK1814Xccl1QQ_8_9">369,670</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_sxC07WW2qESORQtBGOocVg_9_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_bfA_joVb-UaSGuWZ2TraAg_9_6">342,129</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_51LvpQvJBka5qdv-zlhoYA_9_9">440,488</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_c-9gfG94b0mhK3K8EReIvQ_10_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_zb7UeNrW-0-vu2jmNmaPSA_10_6">69,822</ix:nonFraction></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;"> <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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_uIDeWSwxcE-xcXM3PDIB5w_10_9">100,844</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_Nc6njCiKAE-A9NxoLELrWg_11_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_6c1wYRLXhkyVxn0oFHa2pQ_11_6">63,802</ix:nonFraction>)</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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_0tWa5PonS0uCcfM9iGjfGA_11_9">84,339</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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: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.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_SGwPrXkGDEatwPDcglM1Mw_12_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_tzoBBVaDuUS4D_DszlVRpw_12_6">907,075</ix:nonFraction></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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_0UgkWrSRHkKVdXXwV0k9IQ_12_9">826,663</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_LyfwOt-OYUS9fZR637DsaQ_13_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_9KN66Tj9ikaxtfUvB50h2w_13_6">356,061</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_bSLj46FR2EGqHOUhrvyCfg_13_9">453,320</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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: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.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.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><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;"> <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.38%;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.47%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_IRu3drps5k25gvN4sEcJOQ_15_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_uAzDVcL5dEiphfUNVmi7xw_15_6">74,266</ix:nonFraction>)</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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_lpcfE7yq8Emd8eCowD7KPw_15_9">114,099</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_weteJ0cBHkezWG5IBNNXVw_16_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_PK7zDBT8iEuauoGGcMV5SA_16_6">40,615</ix:nonFraction></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;"> <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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_tICnW0VraUWNCE_G440qGA_16_9">51,621</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_xVmQVS56-0-r5QipTbXq6Q_17_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_TQf_pWfBBUKj0PavdDA6ZQ_17_6">44,489</ix:nonFraction>)</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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_QGKbcsc5TEqNKrWT_K7cXQ_17_9">27,504</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.47%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="3" id="Tc_r7VQxZiimk6DPJBXFF6fxw_18_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" id="Tc_hcdBqiAhCEGnVlb98LsgxQ_18_6">77,689</ix:nonFraction></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;"> <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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" id="Tc_HXcn6SE6YE-GHhwcLcorAw_18_9">30,555</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Investment 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;">&#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.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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnInvestments" scale="3" id="Tc_Bnr5J1j560SeiCmsX4hWbQ_19_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnInvestments" scale="3" id="Tc_yq_cyJeE7EW0NRkvsmkfDg_19_6">858</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnInvestments" scale="3" id="Tc_dXUCTra1vkWeCFH2Y2rONw_19_9">14,632</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total other income (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;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.47%;background:#cceeff;border-bottom: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_ZS3RXU7WIUmSwyr1lLhMUg_20_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" id="Tc_9YO0h7doK0CH4VtKjMsCEA_20_6">407</ix:nonFraction></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;"> <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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_ox-kzGudtUy9OjPaZyzEoA_20_9">44,795</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_5wD169tYt0mUQeNS0BgR0g_21_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_2G0yqHRJgUmielq2R1mK_Q_21_6">356,468</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" scale="3" id="Tc_j6l3rPcL9EaB21uMsG3xSg_21_9">408,525</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;background:#cceeff;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.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.47%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_x3xG4R76Qk6K9vuq07CPbQ_22_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_qBrK1mVj1Uy9Rmp7SCEnVQ_22_6">73,353</ix:nonFraction>)</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;"> <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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_LPK_wTpuu02uNHO_fk9nBA_22_9">59,501</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_lOSU1Zh85kuWGztE2NdQyg_23_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_IOfxlBeSqk-1JUYj9A8m5A_23_6">15,440</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_3JXW8eD0zUS-liKmo8XgMA_23_9">14,610</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_XoZvlGbARUe9ta61eeoVSw_24_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_dCAglyokckOha3ZFuSQfOQ_24_6">298,555</ix:nonFraction></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;"> <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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_bV_utAbjlk-86iMkpG6oRg_24_9">363,634</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.38%;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.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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_S2ICO5S_iEyT2Lsf7VmASQ_25_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_g5DxYjNxPU-Kv3gdYbiB0g_25_6">58,587</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_qtKQ9_OdAk2PslGMllD3MA_25_9">89,447</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_zy4p2J3gKUO4Nc78HE4xGA_26_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_rs1YgYYVD0mMW14lcT8AVA_26_6">239,968</ix:nonFraction></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;"> <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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_ejRhHWTefEup3MatuO2hNw_26_9">274,187</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.47%;margin:0pt;padding:0pt;"><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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_v3nR9DiHyEGXLBUCH6geag_27_3">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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_v18P-td16kmSDqgzLFNiGQ_27_6">3.73</ix:nonFraction></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="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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_7XIM0Y0ayUe_HjaRyNWsLw_27_9">4.19</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p 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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_Xz4jy8lXBECVYpQHEkyQnA_28_3">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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_yNmKMa0E-EOBOQcTDJvdIw_28_6">64,324,558</ix:nonFraction></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;"><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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_Bo2zVoYrnEykl2IHNIg69Q_28_9">65,375,084</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.47%;margin:0pt;padding:0pt;"><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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_bAn9aX-yeUurcGy8EQCYFg_29_3">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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_kl7mCzcWrEeiMY6UB6IM6Q_29_6">3.44</ix:nonFraction></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="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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc__DlXpRzo0EOwTGpVUIWn6w_29_9">3.87</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.38%;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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p 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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_nzVafLmxNkuMrjO_BZARkg_30_3">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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_nQygUR8ndEeaynLVre7Wzw_30_6">71,183,135</ix:nonFraction></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;"><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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_CPo2YsgZREugC7D5l4mYFw_30_9">72,194,006</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="_2b347f21_45f0_4e88_af26_42547638f65f"></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_WiVUjfYwGU-sFU4afqm4dA_1_2"></a><a id="Tc_kdC_ott_3Emfesd0kULUDg_2_2"></a><a id="Tc_TSYGyMdHAkeOqMtUACl-0g_2_4"></a><a id="Tc_KW45ILegmEaWadObAmwlJA_2_6"></a><a id="Tc_eKX-g6jIx06vdm8KBgyuwQ_3_2"></a><a id="Tc_8vYHnzgK8EODms7_NCfkCA_4_0"></a><a id="Tc_K_MvUCEH90C_iiQz681zKw_5_0"></a><a id="Tc_7Pbn85rVR0ujQLemnJHIDQ_6_0"></a><a id="Tc_PspU-QPeR0-qtjvMnU6hZA_7_0"></a><a id="Tc_EANWgpRv-k2PSNxC2QqN0g_7_2"></a><a id="Tc_7gXPfJNXe0S3BGNXxkb_cg_8_0"></a><a id="Tc_GGnMnvuOoEKOVGjWisw3Tg_9_0"></a><a id="Tc__gmerU2v60O_kP62v8_LIg_9_2"></a><a id="Tc_OQwYY88JhU-P4ouJYmMw1Q_10_0"></a><a id="Tc_k3FcOJ4OSEWI8sWLnMflEA_11_0"></a><a id="Tc_vM3CbyGr2ESCVJHjQZ9Daw_12_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;">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><td style="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;">2023</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 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_8nflfSqfD0O9NxrGrw_7UA_4_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_h8S5fTsF4ka9MA82qFRq1w_4_4">298,555</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_Q8iLwT0qNECO_R1mg16bQA_4_6">363,634</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_MqWsg7U0xUymtCFllb-Fdw_6_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_Pj1ZmqbjY0GQrTjy8wNaLw_6_4">150,127</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_1BeZAYupQkytM9QMYT2WrA_6_6">8,141</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 (loss) 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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" scale="3" id="Tc_3ceOXxY7nEOtofeTCYltwg_7_4">904</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" sign="-" scale="3" id="Tc_105DlN1FDEWc5iMczkTdSA_7_6">3,487</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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" scale="3" id="Tc_jmRFnFa4DE6tDe08vk9QOA_8_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" scale="3" id="Tc_Kqt-QcJKzE-UichafEEh6A_8_4">716</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" sign="-" scale="3" id="Tc_0rnveYNOFkWtd7Re5JqaVA_8_6">1,124</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;">Share of gain on changes in fair value of interest rate swap of affiliate, 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%;border-bottom:1px solid #000000;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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" scale="3" id="Tc_uHY-ugZHnECs4ACvnOFnFQ_9_4">3,754</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" scale="3" id="Tc_vPrb92XxfEabdGK2-8jAZQ_9_6">11,264</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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_7G17M72V902PAY9hqf5y3Q_10_2">83,639</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_hMdi1hRwT0mMpVvicpMX5A_10_4">153,802</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_JR623FKqTUCnpGJ4_Aeauw_10_6">378,428</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;">Less: comprehensive income attributable 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;">&#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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="Tc_pEBBY5ubPEqiojkANV4eVA_11_2">10,296</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="Tc_RHX7D_y40kShMxdV5J5yhw_11_4">34,345</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="Tc_AsU-CwWdcEqWVBc8NVERWw_11_6">90,829</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 attributable to Canadian Solar Inc.</p></td><td style="vertical-align:bottom;white-space: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_1wXbcezzvk-4GBuM0uDCrw_12_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_btfxd-lU0kKFAqZkbgjAQA_12_4">119,457</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_CDvUV4CVXkCa3o64u9bCPQ_12_6">287,599</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="_b66e9677_320e_4bcd_9c77_d1af47594f61"></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_xqIcGAdIxEmcGqjoM798xA_1_10"></a><a id="Tc_USDCc1MYTUWI73OquO9b6g_1_12"></a><a id="Tc_8BrmWdeDG0CEDLDi7XbJoA_2_6"></a><a id="Tc_KgvMJ5jekkiI0cpnExe7DA_2_10"></a><a id="Tc_0I8ujsisiU69wePkvCWg7w_2_12"></a><a id="Tc_pyTsl52NNUGu13wjBw349Q_2_14"></a><a id="Tc_Q0c2UcZmy06_FS65fJ8kLA_3_2"></a><a id="Tc_VIuSGgJFA0WH5aRJs6AAuw_3_6"></a><a id="Tc_3jgGcDYdEk6YsW4i3AK8Bg_3_8"></a><a id="Tc_YQcp4KvYw0-sxw08NA-GGw_3_10"></a><a id="Tc_hpGYMN_jN0aUmAhbWZHhXA_3_12"></a><a id="Tc_WjuwJODSgk2Zl4SMSSQHLQ_3_14"></a><a id="Tc_XS2_jQaJfkqUg9csPvxrtg_3_16"></a><a id="Tc_BoEtZf0rKE2KqeeHxgqg4A_4_2"></a><a id="Tc_NEkvrw8bN0uzXo5QsWWsVw_4_6"></a><a id="Tc_5dSqG4TZ3kiEEVYe2sBSDw_4_8"></a><a id="Tc_VVXqQ-3To02jOAPG0DnJHw_4_10"></a><a id="Tc_Q4tMPh1c7EuvGLgaKsTRgA_4_12"></a><a id="Tc_VUyiHBczeU25R5nSFg1OOg_4_14"></a><a id="Tc_o_100vn72EaoyHnHKomSqQ_4_16"></a><a id="Tc_0IJcN3ABTkWypJ9CDBFe0g_5_2"></a><a id="Tc_L6_onHDpZk-KqXaeE3YNTw_5_4"></a><a id="Tc_yDFDF7owAEuvxKv8e_lcBA_5_6"></a><a id="Tc_aFgZ6jjTJEuYQtxbp07OLQ_5_8"></a><a id="Tc_CzXmjxL100q94yOmYsZhtg_5_10"></a><a id="Tc_sR-AlMk8kECi8YbZAUBPQg_5_12"></a><a id="Tc_X6mSqJCoLkKP6C37Z65fzg_5_14"></a><a id="Tc_2tD9PMBB20mHAJhb_pRDTg_5_16"></a><a id="Tc_EF3bhEOsWkyDm8XaZFQ5zA_7_0"></a><a id="Tc_jSnund60kEaK04RnRBdxow_8_0"></a><a id="Tc_KXfPwrg4h0KeoYcoD_Npxg_8_2"></a><a id="Tc_MXb2FSLLHU2W9No0Z5CPFg_8_4"></a><a id="Tc_uHifahA1Y0y0MWiJUou_Mg_8_6"></a><a id="Tc_HCZOvXMZO0CM-el_3RODeQ_8_10"></a><a id="Tc_r479K_ItSESECF9XHo_dRg_9_0"></a><a id="Tc_97Np4VJuyUOTMxYg-DwUaA_9_2"></a><a id="Tc_LXjE-H8vHk-ntqF7MM11XQ_9_4"></a><a id="Tc_ggdTtksilky4z7DCE6_CgQ_9_6"></a><a id="Tc_Sxyxg-ZTqkOWupT-_GRUkQ_9_8"></a><a id="Tc_cVTMGQcEDkKm2LRfe1vNlw_10_0"></a><a id="Tc_GqyZbIO7zkuoeHp4xDEQuw_10_2"></a><a id="Tc_kmk2GImEHUuYEKIHI_KQRQ_10_4"></a><a id="Tc_CbSXkwLA70ueHvxieB4Gxw_10_6"></a><a id="Tc_qZXp3GW2P0qDtoRQ_J_Dzw_10_8"></a><a id="Tc_xyKx2O1IDU6m1qzHb9QBtQ_10_10"></a><a id="Tc_JKmdxmyDYUyGPJ6gKy8fXg_10_12"></a><a id="Tc_qO31k5Yo2EiY_DHd-tnAVw_11_0"></a><a id="Tc_iBDT9XqjpEe0UTOGpQ9LUQ_11_2"></a><a id="Tc_qfRPElqQXUmwd5sE7fx9Mw_11_4"></a><a id="Tc_aXog5ls700ChH8kAVDU-WA_11_8"></a><a id="Tc_jk8xztbIlUefYESokqBTlQ_11_10"></a><a id="Tc_85MBdq_6oUuzoRcG6hVMqA_11_14"></a><a id="Tc_7RmMJneXCUmA9FnA9xry9g_12_0"></a><a id="Tc_B8B5WaY300e0w8iN-9h0yw_12_4"></a><a id="Tc_DH5LJ2eG_kG1zQOrwP2G9A_12_6"></a><a id="Tc_TYZNScV0zE69hhml_-bnHw_12_8"></a><a id="Tc_v1QDRlMlpU2Ovc6pFPNMsg_12_10"></a><a id="Tc_98Di1L0H6EefBG4jjxXMwA_12_12"></a><a id="Tc_XQV740Xl_kemq9Di89ZaqQ_12_14"></a><a id="Tc_o3Id2VXXOEOhW2MfAVMcng_12_16"></a><a id="Tc_0EBy8j3PWUO7ZwZlRq9vGA_13_0"></a><a id="Tc_BV7gEcRF7Uiv1DQOvsa0aQ_13_6"></a><a id="Tc_hRZJzFabGk2Fgd4ZfrFvYw_13_8"></a><a id="Tc_QOSHOHb2eUGzra1TGNEZ2g_13_10"></a><a id="Tc_narnwF5v-EOJJ_NtYYCjKg_13_14"></a><a id="Tc_iREQ_6DqckGT_LtJm02nNQ_14_0"></a><a id="Tc_PpFkDadLc0C8wb6W1PZC0g_14_2"></a><a id="Tc_jFR9rx8slk2XgZ7n4hZUQQ_14_4"></a><a id="Tc_Tff_Qc0Rakm_BG0kHLHkIg_14_6"></a><a id="Tc_9Zj9PKZa-UOvIsRKdjDZ6Q_14_8"></a><a id="Tc_v2CbN4sSTEKXQctHnINpdw_14_10"></a><a id="Tc_y6mKpgF2dkebPnC4LrWMUw_14_12"></a><a id="Tc_cAvXaE9sMECe_wl3evujgQ_15_0"></a><a id="Tc_KvS6XDxcpE-oz9AtMzV9Vw_15_2"></a><a id="Tc_qlkfHv4bQ0u5i6EqQT_Zow_15_4"></a><a id="Tc_u5J_pY8iFUiJrgDHMvnNcw_15_6"></a><a id="Tc_74bJfpt_gk2GV7yFsrgMCA_15_8"></a><a id="Tc_ol9mODq9nUyvKp8YC6y1Lw_15_10"></a><a id="Tc_zepcz_jx-UelJfJn-syrXQ_15_12"></a><a id="Tc_41oomrV_PkG6n3ngfa9KjQ_16_0"></a><a id="Tc_gTx2PlqRkE-iZRePZpySsg_16_2"></a><a id="Tc_Nh5z8uQQTEC4TLJX8trwNQ_16_4"></a><a id="Tc_igtljq8aN0iOOuXBZIDz6g_16_6"></a><a id="Tc_w6MoVWDrjUqeWDTGPRzQNw_16_8"></a><a id="Tc_WAUsemvRwUusAbnS4t9CDg_16_14"></a><a id="Tc__uDgHOf22Uutyi6fQyGnWQ_17_0"></a><a id="Tc_nh4Wbm_R60SB8wUibWx48g_18_0"></a><a id="Tc_IPZsv_idlE6gN_2xa00iug_18_2"></a><a id="Tc_NVUkidbWAUmLJHv5l-ij1w_18_4"></a><a id="Tc_Be6WunOwgUOB78ToHMkpWQ_18_6"></a><a id="Tc_uUP4pJK6aEqf6osxH5Ty6g_18_10"></a><a id="Tc_xon8ExccRUqqDuqHwo6WnA_19_0"></a><a id="Tc_TTFm9bWXFkCI7xyOtEx5PQ_19_2"></a><a id="Tc_-v5-k_aEUkqJxr0cvj9jZA_19_4"></a><a id="Tc_wbB1l6kreUqIGIbRUMRSbQ_19_6"></a><a id="Tc_9Tujs5TZiE2RUjXIIHDZtQ_19_8"></a><a id="Tc_XkTeH7UON0uxKvwpPFeW0Q_20_0"></a><a id="Tc_pp7bX4sLLk6MK1hcIAnFvQ_20_2"></a><a id="Tc_ykuGs_u2i0ey2jgWqwTi1A_20_4"></a><a id="Tc_IjLMFMvJj0O6YQ7w_6Cd5A_20_8"></a><a id="Tc_Py2IuPHkgEaer8dBhGZJ-g_20_10"></a><a id="Tc_FYeXLuDN5kmkOPhdWtE-kw_20_14"></a><a id="Tc_LxQiG5zu80y-VRMOCFWMGQ_21_0"></a><a id="Tc_H246FUfSzkuvktR3fK-mgw_21_4"></a><a id="Tc_9i9wWjd_iE2_2XGLB96kZA_21_6"></a><a id="Tc_LTIyM7AUjEKhLiuzadS7jg_21_8"></a><a id="Tc_JQSUF1E8PE6qprtZcni_Lg_21_10"></a><a id="Tc__Vxjw2eV7UevIRMmnp1ltQ_21_12"></a><a id="Tc_XUG1grqgOkKZmKubRClXEw_21_14"></a><a id="Tc_9ylroy7XEkudb6nD3F_XEw_21_16"></a><a id="Tc_M03j6uBefUewG0qHi0_nhQ_22_0"></a><a id="Tc_rJ082qoGLkqtvRxwiFzY7A_22_2"></a><a id="Tc_RCNMG4ApGkCDJ1Wfj94OFA_22_4"></a><a id="Tc_7q-1x9FKOUWkL80A6tJiig_22_6"></a><a id="Tc_K7xnxWevE0iOGYTUrhzfPA_22_8"></a><a id="Tc_6BhM9vDPg0ORmeESLGaQPA_22_10"></a><a id="Tc__etppAo5v0SxObhK4STuKQ_22_12"></a><a id="Tc_DLnzLNZsak6hXdvYR4nm8g_23_0"></a><a id="Tc_Q6aIVL7gZ0uPm49yYZ4QUA_23_2"></a><a id="Tc_qhqbOTbrUUOaX8F1l4gekg_23_4"></a><a id="Tc_VXfZUgGkhE-jx-hbAHwwkg_23_8"></a><a id="Tc_fX5wU8OTwUe5xzF7du6bDw_24_0"></a><a id="Tc_k1M4S2XSH0CA90drthmV8A_24_2"></a><a id="Tc_eilnZxsvo0aE-chZxFhYCA_24_4"></a><a id="Tc_Oy3hsG4OWUKsv9PQj18WmA_24_6"></a><a id="Tc_aoSKv39MeEqYJbfR6JoLMw_24_8"></a><a id="Tc_LDWbHuXUxEuBPdOCyODyCg_24_10"></a><a id="Tc_YSx8qRHFfESqZH8HyjVv5w_24_12"></a><a id="Tc_JhPY7QINzECdlGQ250BQGw_25_0"></a><a id="Tc_BP6C7KUq30eSdVvy4K2Ynw_25_2"></a><a id="Tc_63zir_RoMUuuckOGfecGww_25_4"></a><a id="Tc_Ze77VHZvHEa0kmhVnL_5pA_25_6"></a><a id="Tc_ZLE_b1yVg0eXmrIdebylag_25_8"></a><a id="Tc_X1NAnivpXUm6JNZwV2eQtA_25_14"></a><a id="Tc_PHHCSdwMC0WKRRPKf17ghw_26_0"></a><a id="Tc_WKpju1i60kiSc-hir-USbg_26_2"></a><a id="Tc_giSuSIGQLkeEgCr_mAm2OQ_26_4"></a><a id="Tc_MKBLNskCpU-cIfcpna0A7g_26_6"></a><a id="Tc_V8u6swRR3k-c1XKAifz2bA_26_8"></a><a id="Tc_aG0PmwKie0q9Gp4hTIShHQ_26_14"></a><a id="Tc_zVJ3HULwZUuSdoewSKQAkw_27_0"></a><a id="Tc_ui_8nKKHxEKrlOJGTn5Rfw_27_2"></a><a id="Tc_9KFE7gcjCEm1ma_yNNPWeA_27_4"></a><a id="Tc_eq6zGvK1j0-avLUSs33QOQ_27_6"></a><a id="Tc_urYAI7AZ-0-xYBEMT68Q0g_27_8"></a><a id="Tc_NrPvuhuh3kiqQ2rDslqesA_27_14"></a><a id="Tc_R6_3tve4CUmgauFQaR_pkw_28_0"></a><a id="Tc__oVwcLojvEWklWwxHroZDQ_29_0"></a><a id="Tc_fR45liJnskWREMnnhxVy9A_29_2"></a><a id="Tc_4impWeYmhU6Gr4bXB8jcRw_29_4"></a><a id="Tc_nJxCiDj8rEyi0Smz1kt8cw_29_6"></a><a id="Tc_Obz-NWq6nkaHT9uWz9CIOA_29_10"></a><a id="Tc_PhLJCweRn0-szb3PDPe7cQ_30_0"></a><a id="Tc_wRD68ysG50qYWZaP1qabdw_30_2"></a><a id="Tc_97wyujexVkuH0vpDzCalhg_30_4"></a><a id="Tc_h6NjzC_uakuoQiZ7eatoWQ_30_6"></a><a id="Tc_sjj6PvD2iEOz_8sH7tKFPg_30_8"></a><a id="Tc_qHjfJAJ7AUW750TexTIsGg_31_0"></a><a id="Tc_Ju90uyowXk-BXqYa3jQOtA_31_2"></a><a id="Tc_1dnzFDyBrEW_U0l__bbmSQ_31_4"></a><a id="Tc_E7VvvEUZ70-E1OLijAMzlQ_31_8"></a><a id="Tc_rFtxR1gH0US1P0jhdRFIEA_31_10"></a><a id="Tc_NEmOUZR1tUKUqjP67qizQQ_32_0"></a><a id="Tc_yvetkoiz30mQxRodf3Phpw_32_2"></a><a id="Tc_FKQSVjFcXU2HUs_ooPaZaQ_32_4"></a><a id="Tc_MWD4O-dG4UmHFSUQBv2aUw_32_6"></a><a id="Tc_6TBq4r3YtUaXKahLyHPpaA_32_8"></a><a id="Tc_6d1IR3ZL-UKVU8WSpUtwbg_32_10"></a><a id="Tc_svr_XrHcIEKIWTHw2jsqCA_32_12"></a><a id="Tc_1a2y_r-Nxkyk9t1KWIOAow_33_0"></a><a id="Tc_ANiHzNYfsEKzvRaIey3x9g_33_4"></a><a id="Tc_1wJUhs5whUmXJaloesrUvA_33_6"></a><a id="Tc_W8NY5e1mk0y3JC2-Sjs4JQ_33_8"></a><a id="Tc_87kJ2CydnUuD7edH9I3qRA_33_10"></a><a id="Tc_Xj-qJdfRgU-lFuH_ZDCmGw_33_12"></a><a id="Tc_GjIACKoDD0id_mecsgHMGA_33_14"></a><a id="Tc_g-AC3q_LdUWNgbyCkNOCSg_33_16"></a><a id="Tc_VvwqHdt0VEK06fJhNNjmOw_34_0"></a><a id="Tc_vJAA1wvQrUqlLI11V9brBA_34_2"></a><a id="Tc_hSKfFPJLnEWY4h8l0DOYhA_34_4"></a><a id="Tc_xP-1TQ9kZk-ynOY28ikskQ_34_8"></a><a id="Tc_PUW-0QuI9EaXj8wweAd6dw_35_0"></a><a id="Tc__Mw26MkVTk-ni6ZBwyWtwQ_35_2"></a><a id="Tc_ISyPkQbO10yCup2DGue-2w_35_4"></a><a id="Tc_7AUli4qa_EaLuyytHectNA_35_6"></a><a id="Tc_W94POo654E2Rp7_ICwZJ9w_35_8"></a><a id="Tc_T6qZ1AIpTUm0MMb1bA0j2Q_35_10"></a><a id="Tc_j8_C1BcCl0W_ny0BWU_oCA_35_12"></a><a id="Tc_VjwzkLwwe0aec8pHv73RUQ_36_0"></a><a id="Tc_RTk-MTbCcU6p4wmoWyh5kQ_36_2"></a><a id="Tc_4B_LUvNYyEy9CMgPb74Eag_36_4"></a><a id="Tc_6jdbTYfbFk2P6pWqFaUBWQ_36_6"></a><a id="Tc_EhKlfAGAzk2enVC6YhywKQ_36_8"></a><a id="Tc_xdVwiSsq90-56I75p6MfpQ_36_10"></a><a id="Tc_hmPbyxM5kEqsuUDC4Yxxqg_36_12"></a><a id="Tc_FY42KwMynEelwPBFtKlAVA_37_0"></a><a id="Tc_6xGD9Fot-EaDe4ltA2LQng_37_2"></a><a id="Tc_x7PCJu8uy02UA8IrqR703g_37_4"></a><a id="Tc_ZNfk2IVe0EyFCLyPh6B1kw_37_6"></a><a id="Tc_cpKZK9L0yUuFBUny7qFa_w_37_8"></a><a id="Tc_czZTyaSpUEaxI94OeSr9SA_37_10"></a><a id="Tc_tD27SjMNTEm_uhX9XjJWIQ_37_12"></a><a id="Tc_ymni-tFjEEClzmwCpGsx-g_38_0"></a><a id="Tc_ubpNPl8Pu0KrIVifQiVZog_38_2"></a><a id="Tc_c4QhUApo2EaHdO_YQTtBmA_38_4"></a><a id="Tc_d6ZtRzBOgUqmgjzRjusCQQ_38_6"></a><a id="Tc_-6eUnnf0hEmeqIf6b3QlFA_38_8"></a><a id="Tc_18TueXzp_EOPNEIRLzi-KA_38_14"></a><a id="Tc_4KGlTMom9EOhynbDi6PDTQ_39_0"></a><a id="Tc_AMpzdtSmQ0aoc0JoDNeJqg_39_2"></a><a id="Tc_ha0v_kXBmUaQ0GyzLSBr4w_39_4"></a><a id="Tc_jFX9EuE19kGppwdF0KcRrQ_39_6"></a><a id="Tc_1eAH0rPyy0Ke-ZHdCxdkLA_39_8"></a><a id="Tc_ekf-SglqOkymf-hx7orWCg_39_14"></a><a id="Tc_jW6i60YFqkqeQ6nehPfpsg_40_0"></a><a id="Tc_vCBZ4jncHkmJBLZ51YsGPQ_40_2"></a><a id="Tc_y-vrYXr5pkyArDigR_JNqg_40_4"></a><a id="Tc_RuRe1DRN2kWb1UPT9p1BCw_40_6"></a><a id="Tc_FCStyi9ADUKjq5ARAN8hjg_40_8"></a><a id="Tc_wsdsU2wep0yph7NnMkpE9g_40_14"></a><a id="Tc_mREDHkDyJUCoTGu7mv_IEA_41_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:29.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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.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:6.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:1.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:6.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:1.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: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.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: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.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:6.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:1.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: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:29.8%;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.72%;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.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin: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.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin: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:6.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:1.73%;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.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:1.73%;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.73%;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.73%;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.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:1.73%;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:29.8%;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.72%;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.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin: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.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin: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:6.95%;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.73%;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.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:1.73%;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.73%;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.73%;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.95%;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.73%;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:29.8%;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.72%;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:14.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;">Common</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.95%;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.73%;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.95%;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.73%;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.73%;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.73%;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.95%;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.73%;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:29.8%;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.72%;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:14.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;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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;">Capital</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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;">Earnings</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.73%;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.73%;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.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;">Interests</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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:29.8%;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.72%;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.94%;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.72%;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.65%;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.73%;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.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:1.73%;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.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:1.73%;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.73%;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.73%;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.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:1.73%;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="17" style="padding:0pt;"/></tr><tr><td style="vertical-align:bottom;width:29.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.72%;margin:0pt;padding:0pt;"><p style="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="15" style="vertical-align:bottom;white-space:nowrap;width:68.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:7pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;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.94%;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_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Wr1FYni0tk6Fx0pLPLbCww" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_pjo3gH2Sg0-c-lRIO5rpyA_7_2">59,820,384</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.65%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Wr1FYni0tk6Fx0pLPLbCww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_WWwyUFZP7EmQKuQgYglY7Q_7_4">687,033</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.95%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_N8sNhAoK9EWuCgXEeFOGZQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_9kkPZhKRs0ybiX1343skXA_7_6">28,236</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_D71GxTdfmEqVsDXYlZTY4Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_03Rb6P3440i9jMf_ylSETA_7_8">940,304</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_gMrXdq2OkUa6Z0VHvlQ8Dw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_FUDb9LuMikqzI1Qjvvhz4A_7_10">28,679</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_jqv0NgGt9UGqU-i1oQGWHg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_jlop2NLZX0iaNHPRDEipeQ_7_12">1,570,422</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_U7ThNtRpQEiR9XT0PeQeAA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_E3KjLZV4yUurEUTrmGGzmQ_7_14">322,363</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2020_e4l9AB3P7Ue0Md5J7y_79A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_URqsUZFF5k2dTslPltoHxw_7_16">1,892,785</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;margin: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.72%;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.65%;margin: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.73%;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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_65MNyzb-kUKwcInEYII_Sg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_nqMOCtgwTUuj6JCSg822yg_8_8">95,248</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_Nz9nzr6XzUyFmY4HjV2vnQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_i2zD4XGdVkK2tw1NhMP3RQ_8_12">95,248</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_J623DVxLCkmTkxgIfR9jEQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_lWxot8v0pUWit7PpY1MVjg_8_14">14,628</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_IP-74ntCnUS5x8wtTMxMUQ_8_16">109,876</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;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.94%;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.72%;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.65%;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.73%;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.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:1.73%;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.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:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Pfw7VPwj_Ua3M8gS0GbM1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_t4P4-7lQAkunv_XK0RjAAA_9_10">21,964</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_Nz9nzr6XzUyFmY4HjV2vnQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_58Hqy1N9BUup_i-GoZvUEA_9_12">21,964</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.95%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_J623DVxLCkmTkxgIfR9jEQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_m0lQ94fJwEOz2MvHZSPwcw_9_14">4,332</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_PE5kmwiuH0W3Q5_RqUCCCw_9_16">26,296</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;margin: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.72%;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.65%;margin: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.73%;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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_J623DVxLCkmTkxgIfR9jEQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_lWe-HPizYki09EocxyHM4Q_10_14">10,719</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_T-B7vnADJU-avJSlkpA9zw_10_16">10,719</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;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.94%;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.72%;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.65%;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.73%;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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_yV13MQEAEUioqwRfrbel-g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_zxosD7KVzEe_DpBNHyCl0Q_11_6">8,808</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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:1.73%;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.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_Nz9nzr6XzUyFmY4HjV2vnQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_sirAAda5ukCJgar6hAr_HQ_11_12">8,808</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_QZ9r3nwOD0mW_FMOvqkunw_11_16">8,808</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;margin: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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_yyIOdaaHoU23g3A59pxXBQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="0" id="Tc_YnxQYQ2-PUGP_XF-x2KWfw_12_2">562,376</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.65%;margin: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.73%;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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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:29.8%;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;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.94%;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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_yyIOdaaHoU23g3A59pxXBQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" scale="0" id="Tc_eA9GcXPZM02kcpVzn3PhUg_13_2">3,639,918</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.65%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_yyIOdaaHoU23g3A59pxXBQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="Tc_ueAlqwHCo0mad7tql5w-mg_13_4">148,510</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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:1.73%;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.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:1.73%;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.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_Nz9nzr6XzUyFmY4HjV2vnQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="Tc_pUA9QqkY0ESliEWNhB70Gw_13_12">148,510</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="3" id="Tc_eLgSvhb2bkelXTTz967iXA_13_16">148,510</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;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.94%;margin: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.72%;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.65%;margin: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.73%;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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_J623DVxLCkmTkxgIfR9jEQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_dM-6OMWtbEyJcF5yj9MEZQ_14_14">10,003</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_EW0wgEGS-UOVcJ67rCaMPQ_14_16">10,003</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;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.94%;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.72%;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.65%;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.73%;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.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:1.73%;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.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:1.73%;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.73%;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.73%;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.95%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_J623DVxLCkmTkxgIfR9jEQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" sign="-" scale="3" id="Tc_f-6467AwM0K1qqYbN3vH9w_15_14">6,588</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" sign="-" scale="3" id="Tc_qQ96JP6XN0GBrIsQARuc1w_15_16">6,588</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;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.72%;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.65%;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.73%;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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Pfw7VPwj_Ua3M8gS0GbM1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_7GoXlbR42E2GLnLWo1serg_16_10">59</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_Nz9nzr6XzUyFmY4HjV2vnQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_dx5OpvKOR06UsXtTuCDYmw_16_12">59</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_U9uBMW_-HEKRAmEDmyatcQ_16_16">59</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;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.94%;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_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_6pq9tWx1OU6K17Iyw6obuw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_I17CCrwBMECwyPa1pYihrw_17_2">64,022,678</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.65%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_6pq9tWx1OU6K17Iyw6obuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_i-KiatHqbE2wqSXNIHOMSw_17_4">835,543</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.95%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_jkGkLsMewE2g2QVZd_2ugA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_j-S8afuP0UKdO1d0DrVqnw_17_6">19,428</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_3m-v0EagwUWVRnv2zzDPMQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_sW_Y72vC40WSQcUrzkeV7g_17_8">1,035,552</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_8AM4oM-bB0SF7uXmH2YABw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_DhwsjtF9lUiYP0-XiJqO7g_17_10">50,584</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6xsT4e2Gjkab78BvHlOucw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_UsE6DJMDTUatlRopD9r-aQ_17_12">1,801,083</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_XTi0TejTTkCB-UXxqTe20A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_JUPMk-DbP0iIJ_xVv7A_uA_17_14">325,355</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_xq-vxoaBtEeRSjO0AT6lxA_17_16">2,126,438</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;margin: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.72%;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.65%;margin: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.73%;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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ofOWvk4goUqs6WPvch2V2A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_TzFgledvn0yXvoqtLgvHhQ_18_8">239,968</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_2blk2gDHUk-SBZlWcWvL1w_18_12">239,968</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Re-yMV43ZU29itwBDNzfoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_sJmHZR24sU2De1P6H4bgfA_18_14">58,587</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_ojKGOrOA2Eu00ksmhz9IZQ_18_16">298,555</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;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.94%;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.72%;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.65%;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.73%;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.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:1.73%;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.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:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ple6wfJcbEitB5Ka5Cl-qA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_-wJFtzIUiUGxyVNaN-2u7g_19_10">125,885</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_Zvm-rNoHUEy9ALYvUQ56KA_19_12">125,885</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.95%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Re-yMV43ZU29itwBDNzfoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_v1lfvzURZU2hY879OKmfFw_19_14">24,242</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" sign="-" scale="3" id="Tc_0A27ms-no0uB1Fp3MN0rPA_19_16">150,127</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;margin: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.72%;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.65%;margin: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.73%;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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_4HcbvFQfWUitoRHap-Un6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_cEO6kVKNIEqw1g2Rm-iXZg_20_6">9,370</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_1HAvknW9h0adw6N2Glgt_g_20_12">9,370</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_0dmN1wC2w0mbXI2yVkcSXQ_20_16">9,370</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;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.94%;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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_90ooRo4vKUaaEtqKMW6dYw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="0" id="Tc_xEtpcKgBekK5Idj56JB7rw_21_2">483,377</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.65%;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.73%;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.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:1.73%;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.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:1.73%;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.73%;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.73%;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.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:1.73%;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:29.8%;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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;margin: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.72%;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.65%;margin: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.73%;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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Re-yMV43ZU29itwBDNzfoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_XU-ZMI9_n06wk9YkNuQPwg_22_14">2,529</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_ijXSSC9nyEegvQH915LhcA_22_16">2,529</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;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.94%;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.72%;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.65%;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.73%;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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_4HcbvFQfWUitoRHap-Un6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_HiUPKgHGuU-0k8t-hEfdPg_23_6">11,185</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ple6wfJcbEitB5Ka5Cl-qA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_RCc1KFJD9Uur5rmspReP_w_23_10">544</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_rRC8nmL87UixJ6zQu9NoDw_23_12">11,729</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Re-yMV43ZU29itwBDNzfoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_Zu0k5uoRnEmh87tuzoQmkw_23_14">4,094</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_jKtY0DCkoUymJZeT7kRiKg_23_16">15,823</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;margin: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.72%;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.65%;margin: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.73%;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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Re-yMV43ZU29itwBDNzfoQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" sign="-" scale="3" id="Tc_3DwK4AHPB0CezjQPnk_q8w_24_14">1,268</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" sign="-" scale="3" id="Tc_vju_WrmnpUS_hDfRYCV2Lg_24_16">1,268</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;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.94%;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.72%;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.65%;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.73%;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.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:1.73%;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.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:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ple6wfJcbEitB5Ka5Cl-qA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" scale="3" id="Tc_zm9DDagNd0ma8SVN_iX6IQ_25_10">904</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" scale="3" id="Tc_XGEc-mu3IkWX0u89Y-y7ng_25_12">904</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" scale="3" id="Tc_N0sxZ5ylF0KNZPprAJL3yw_25_16">904</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;margin: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.72%;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.65%;margin: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.73%;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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ple6wfJcbEitB5Ka5Cl-qA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_ejLMDR9kVkyzbATu2vOTXQ_26_10">716</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_kg8r5Z8h7E67cuBMnvKwRw_26_12">716</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" scale="3" id="Tc_fOF5U7KSJkugHFw_zPnwlA_26_16">716</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;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:6.94%;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.72%;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.65%;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.73%;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.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:1.73%;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.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:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ple6wfJcbEitB5Ka5Cl-qA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" scale="3" id="Tc_5PPe8z-yTkiyDW1Mu4fOLA_27_10">3,754</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" scale="3" id="Tc_NLISt9fjNEW0NnF_1bJCtQ_27_12">3,754</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" scale="3" id="Tc_gEfAKtOkrkqp4dDEHUDyiA_27_16">3,754</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;margin: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_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nfjuJ-ne6keEtsyNgbR4Bg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_gYVkvWrQaEaz_Krs3G9bNw_28_2">64,506,055</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.65%;margin: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nfjuJ-ne6keEtsyNgbR4Bg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_bQNq6L67iEKk1CohvGjnGQ_28_4">835,543</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_y1RBQQ7YeUqbRymv8TueQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_z0LMOWM12ka_UNf58L7WMA_28_6">1,127</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_7jZlWkmE00yrQkmbH1b0tw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_lVqhX6I_M0qmd9LdncXELg_28_8">1,275,520</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_rRBu-kgVt0WY21K0oo2jVw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_RHhSUKKGJ0q6RzUIhPY6oA_28_10">170,551</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_EsaJlPCRokKRAoKmGxvrkg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_eEPAMI-1hEmgANML081ktQ_28_12">1,941,639</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_ukS6uCYet0mQ2Qi5QNgu8Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_XKCGnuWsqkuNnvtJeulqHw_28_14">365,055</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_b6dkVOa03E2tDxKuaulO9A_28_16">2,306,694</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.94%;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.72%;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.65%;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.73%;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.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:1.73%;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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_IPhDe1eMzU-9u4wY8YCluQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc__zl6trzuaEGDbAsbHOYQmw_29_8">274,187</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_A9dq5swMuU-OM_e07cDlUQ_29_12">274,187</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_KseNrLc6BUWoh_5Adit4zA_29_14">89,447</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_VXG4FJ1ZBEepqEyzDgFUZw_29_16">363,634</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;margin: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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.65%;margin: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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RzOcr5YVNUaFouhgn_rs2w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_UKVrMqWB30azWA5E1tqMvw_30_10">6,759</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_TXDQX74u8E24w8L_pPBkUg_30_12">6,759</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_rtgirM-gi0SwxkHp4pfq-g_30_14">1,382</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" scale="3" id="Tc_sVwypcZ7AUK-gyDV4Zq2iw_30_16">8,141</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;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.94%;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.72%;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.65%;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.73%;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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_1L5LORyZ1USAZ1ZSt6ypmg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_fvGg7KZGcEiaeN0fC_60dg_31_6">46,981</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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:1.73%;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.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_06FtqUdSt0mAIrlNOX4oYw_31_12">46,981</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_8hTyKscgg0-vJbgaFy6DpQ_31_14">8,354</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_qlqiFtagA0ekHA6t-ioq3Q_31_16">55,335</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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;">Subsidiary&#8217;s shares under employee incentive plan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;margin: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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.65%;margin: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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA" decimals="-3" format="ixt:numdotdecimal" name="csiq:NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan" scale="3" id="Tc_Pzbq14Eb0UK_8Le7U_eMqg_32_14">36,416</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan" scale="3" id="Tc_W7zXmvmZdUy9XQb4WTDRFQ_32_16">36,416</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;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.94%;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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_tqWT3kkae06ylR74JxfKoQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" scale="0" id="Tc_1mxtlJeiBU2vDXuJT6QDPQ_33_2">1,652,686</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.65%;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.73%;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.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:1.73%;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.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:1.73%;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.73%;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.73%;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.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:1.73%;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:29.8%;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;">Subsidiary&#8217;s offering of its equity interests <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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;margin: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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.65%;margin: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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_1L5LORyZ1USAZ1ZSt6ypmg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_e7YcVFeCDEWRJB-7sZGdZg_34_6">244,629</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RzOcr5YVNUaFouhgn_rs2w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_98rX2IpN-ECVpwg-V2ecgA_34_10">38,395</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_RmeljdbSDUKVCgQSIWxKog_34_12">283,024</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_SH8io3DBW0y_DB3ec2KLKQ_34_14">644,873</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" scale="3" id="Tc_qqG4YlZKbEW2Md4P0Dddpg_34_16">927,897</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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;">Acquisition on non-controlling interest&#8217;s ownership</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.94%;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.72%;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.65%;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.73%;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.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:1.73%;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.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:1.73%;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.73%;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.73%;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.95%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_3Ixf01NPSUSPDHQscSkPGA_35_14">1,446</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromRedemptions" scale="3" id="Tc_6obx1iy9j0St34_yAk8CiQ_35_16">1,446</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;margin: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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.65%;margin: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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_ixsh7d3cPE-Zdz68dXciYA_36_14">5,910</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" scale="3" id="Tc_nmrH0DKWykCRAyZgL_CATA_36_16">5,910</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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;">Distribution to non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.94%;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.72%;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.65%;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.73%;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.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:1.73%;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.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:1.73%;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.73%;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.73%;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.95%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" scale="3" id="Tc_XVHW6BE5m0KPE-iTG4kscw_37_14">3,990</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" scale="3" id="Tc_RgWBG4VNk02FfmaYCn3h0g_37_16">3,990</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;margin: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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.65%;margin: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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RzOcr5YVNUaFouhgn_rs2w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" sign="-" scale="3" id="Tc_dhk1vjhlcESCqu5eZW4qOg_38_10">3,487</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" sign="-" scale="3" id="Tc_ebCI8AJKiEOl2K3AGC0sYw_38_12">3,487</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" sign="-" scale="3" id="Tc_WyXGbIVvvUeshrnVNsJq4Q_38_16">3,487</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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 on interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.94%;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.72%;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.65%;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.73%;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.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:1.73%;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.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:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RzOcr5YVNUaFouhgn_rs2w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_x19U6sRxnkOW9qP1aoZtrw_39_10">1,124</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_2wf7R_lpiUeZAo-1v223vg_39_12">1,124</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.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:1.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" sign="-" scale="3" id="Tc_c_F43IYxxESzPXJtFB4TNg_39_16">1,124</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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 interest rate swap of affiliates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.94%;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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.65%;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RzOcr5YVNUaFouhgn_rs2w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" scale="3" id="Tc_zFbg0JPnmkSRVzdKcE4H0A_40_10">11,264</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" scale="3" id="Tc_g_9gDMj2jEajVEK-i7EO7Q_40_12">11,264</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" scale="3" id="Tc_1QUC7LBHR0KQdtkNKtkUlw_40_16">11,264</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:29.8%;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, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.94%;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_shares_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hTa0aLkBrkmTjndU--ZlKQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Tc_BeU8dUx-cU2oXDX7fEeigQ_41_2">66,158,741</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;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.65%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hTa0aLkBrkmTjndU--ZlKQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_AewKKkY1E0uf00I62ksYqA_41_4">835,543</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.95%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bwp36UcVtkus0aJ_NS0NlQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_DOOQHnJLlEKPCw1dfBohWQ_41_6">292,737</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.95%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Pb6OP8H5bkqvAcilbkhrrA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_vytcRvK0zUevusLJo6bQCw_41_8">1,549,707</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CkgZWnvhgkCK2gFFEmRvNQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_DnmKFl5xCk-XBeRWljbfKQ_41_10">118,744</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_XQKASrd7u0aWNhiNED17aQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_PIHRxSVPnkSxRLnQ54H_Kg_41_12">2,559,243</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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.95%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_JuwlZIZFPUKUOIUgjl171w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_yEWHOmf4eEulSqif_lmrtg_41_14">1,146,001</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" scale="3" id="Tc_57pIpiHbXEGhTxDdZgonPw_41_16">3,705,244</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="_02bd4506_a668_4b9f_a0ea_8339a06a7e61"></a><a id="_796cbd76_a5f1_4427_abd9_7bc64ec9909e"></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="_55b926d1_e033_45e1_aa19_4c28ad6fc60c"><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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_HoZ20m-kpkiFH0GLeJ9h6A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_n1ae3EkjFkit7nsXuqMbeQ">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_HoZ20m-kpkiFH0GLeJ9h6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfStockIssuanceCosts" scale="3" id="Narr_j0YLiy_X2kiTl9rsAAsd9g">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><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="_2f8b80ee_3d7c_4de4_be33_9e2e441250e7"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Represented the net proceeds 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_JdCN7cFCl0CgSWaqZMUWVA" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_BmJzR9eWYE-Iq-taiz8law" decimals="0" format="ixt:numdotdecimal" name="csiq:ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" scale="0" id="Narr_IrtpH7A4d0SjfadqK6GiGQ">6,628,683</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;">$<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_BmJzR9eWYE-Iq-taiz8law" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" scale="3" id="Narr_KMmfhrGQDUKnRr5FN0aWag">927,897</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">), after deducting the offering expenses 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_JdCN7cFCl0CgSWaqZMUWVA" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_BmJzR9eWYE-Iq-taiz8law" decimals="0" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfStockIssuanceCosts" scale="0" id="Narr_w7nbxXgGlkmgNLy-88PHaQ">277,929</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;">$<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_BmJzR9eWYE-Iq-taiz8law" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfStockIssuanceCosts" scale="3" id="Narr_DeXzSQdIY0y2O-eJ2NjOTA">38,995</ix:nonFraction></span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">), from the IPO of CSI Solar Co., Ltd in 2023. Refer to Note 26 to the consolidated financial statements for further information.</span></ix:footnote></td></tr></table><div style="margin-top:12pt;"></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="_5498d947_b4e2_47eb_8165_e1c84b738e0f"></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_r8BkimYURUWzPns8aacgPA_1_2"></a><a id="Tc_Ke7KwZB4sEe9-Te-_VbiKw_2_2"></a><a id="Tc_NPq7OOrs_0msl6GdrVfcVQ_2_4"></a><a id="Tc_rIOw1XYmTke3x2i0uZKing_2_6"></a><a id="Tc_yXQc0V9DWUeM-tQkGMf4_w_3_2"></a><a id="Tc_t15rmkKS10-tar_XUQvCXQ_4_0"></a><a id="Tc_LHVTgToIk0Sod-bLbnDKIw_5_0"></a><a id="Tc_9XT6GnXyqEOsR5iyy_KWdw_6_0"></a><a id="Tc_y3xG2QVDVkWxPh2fQ3FWFg_7_0"></a><a id="Tc_hvHtBRwAmEaD4QDQLoIHIA_8_0"></a><a id="Tc_p1YfFvzFMUKaHfpXdneDZw_9_0"></a><a id="Tc_h5xbRbGI60Sv8t8gOVih7w_10_0"></a><a id="Tc_2Mgg4NzDh0-7m8IsI44Zig_10_4"></a><a id="Tc_OpQP9m19uEKsEFz-ZsabaQ_11_0"></a><a id="Tc_R23TKcFyf0eiwVJ9A3gVZw_11_4"></a><a id="Tc_bOy9heqeM0KXVkmkahW91g_11_6"></a><a id="Tc_ECi_0UMDR0qCOJnvCCb-Rg_12_0"></a><a id="Tc_rLjmPXafyUOSLvDtZxJL0A_13_0"></a><a id="Tc_fr81b1UM-0WET6xoA7VnlA_14_0"></a><a id="Tc_I8UQN4JuiEe6-LZHfAB6dQ_14_2"></a><a id="Tc_dYWT7HLQQEW4eH_gKAVTYA_14_6"></a><a id="Tc_W4a5JjmiEU-etWSKNrfijQ_15_0"></a><a id="Tc_HZEe46Y4PEmxHcW1WGy30Q_16_0"></a><a id="Tc_AIWCPOLzzUGzrgApmq8Wzg_16_2"></a><a id="Tc_bfUhH8tSCUiW1WD04IgdMw_16_4"></a><a id="Tc_tye8vo4ZSku3l7tHehYoDQ_17_0"></a><a id="Tc_ySih03IiHkqPTTPTJ5GdWA_18_0"></a><a id="Tc_k5M5XTCgcECTsg55PiJvVA_19_0"></a><a id="Tc_xgXPtPx4NUGbawLFPTpC3w_20_0"></a><a id="Tc_rb39ukZxH0COPMZ-DS4kwA_21_0"></a><a id="Tc_dEadN9xEBk-LfB4ezQFKUQ_22_0"></a><a id="Tc_T6cRT4TPdUSxAuAEgGk6VQ_23_0"></a><a id="Tc_VKbgajEW2U6Y_OwRkH052A_24_0"></a><a id="Tc_2nPy4CG9CkSoyu1h2QXAFw_25_0"></a><a id="Tc_jm94s4KlMUaYhcGHrM8XrQ_26_0"></a><a id="Tc_VNLLKSVkZ0qvRgikK7rumQ_27_0"></a><a id="Tc_V45_RYoj8UuushGjRr2Q-w_28_0"></a><a id="Tc_ysR7Tl_6RUOoTRdYEL6IWQ_29_0"></a><a id="Tc_AHyzPG57-UeAVkoeD8TlIQ_30_0"></a><a id="Tc_YcFCx5TFiE2AV4NUrcBd7Q_31_0"></a><a id="Tc_UlxquW_7vk6xhAnyWmvM7w_32_0"></a><a id="Tc_EoVPLFuOnke4xtZNXfq-Ow_33_0"></a><a id="Tc_lQ3pnlhd4US7Mw2fuGd2UA_34_0"></a><a id="Tc_fcO2WoGvv0S1VhjCx4FxPQ_35_0"></a><a id="Tc_bQ31NWgqM0-7MHlvovHtMA_36_0"></a><a id="Tc_QXUoDUSl8kW87BaJLohDNA_37_0"></a><a id="Tc_JqV9jlj8T0GqoVzFblShGg_38_0"></a><a id="Tc_6TddY_iKoUu52Yh4BFDgoQ_39_0"></a><a id="Tc_4o_5p8TqbkKiAS44hn46rg_40_0"></a><a id="Tc_WJ0Y8AIzFkWeBPsNPlpSCA_41_0"></a><a id="Tc_e2o5hIgZtkG66sn5ZK4l6Q_42_0"></a><a id="Tc_tNt3V-V5-ECrWlK4qN0yZw_43_0"></a><a id="Tc_mT8juXfyqECkMffS_06fqQ_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;">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><td style="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;">2023</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;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_FABnfhT_gE2rFWF5lwveUg_5_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_YC4zMQn8qU-eOC3YrP0Ylg_5_4">298,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_yzyUnMK6c0Wk1NECjoiN7g_5_6">363,634</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_kz1Tv-wIV02pm348hvjdIQ_7_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_6xPow0eybEqeiWUvN6vMiA_7_4">234,559</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_GSN7Ap9vt0KgV9gjTc_Gyw_7_6">307,040</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 green bonds and 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_YKruqCtVBE68mwjJ-1WhZA_8_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_hOPZdh2-ik-SB7Bdn5cPVQ_8_4">1,302</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_TyaaJJVAtEOX0TNRzRgmDw_8_6">2,145</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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" sign="-" scale="3" id="Tc_JTbzRPBBnU279ZCJBJtXWw_9_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="Tc_Qlpzdbs5FkOXDU1m8Nj2vw_9_4">4,259</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" scale="3" id="Tc_rkrsfqpWGkuR0vn8d0-v3g_9_6">5,342</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;">Loss 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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" scale="3" id="Tc_ZmAUNZWBQUuaQGQDgcdDTw_10_2">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><td style="vertical-align:bottom;white-space:nowrap;width: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" sign="-" scale="3" id="Tc__lOk033ph0KTso1LLsdGkw_10_6">244</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;">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Tc_QrE27UZwBE69JlCV4AaoUg_11_2">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><td style="vertical-align:bottom;white-space: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Tc_E3vlIhfovEO5NWnlKUWqPA_12_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Tc_clX4Pk7fj0W99hUx3boujg_12_4">60,330</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Tc_dLdRec9H902DJnoxEom3Tg_12_6">5,938</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Tc__4Oal65tk0m0BlO9aBhCkQ_13_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Tc_9ae_I7bUCkKioHJb9XnU9Q_13_4">1,674</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Tc_Mv33ZMYjTU-xauE6q-PV1A_13_6">16,239</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;"> &#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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentsInAffiliatesImpairmentCharge" scale="3" id="Tc_dFBcYFY-jUi52-4Z_12Krg_14_4">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: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;">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_Oq5HrS7VFUmEp4nZ3vMIrQ_15_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_O3MBeO4fIE6QpumqopSH2g_15_4">44,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_KpQUCEtEYUubgNmVpmxjNw_15_6">27,504</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 change in fair value of other financial 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: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><td style="vertical-align:bottom;white-space:nowrap;width: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_Et9HdmCNJESDm_vXIHyGwA_16_6">12,696</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;">Equity in earnings of 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_rqU4AFAoK0W96p_CNVLeuA_17_2">7,256</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_o_M7mSEJIE-U9-BWTS0xmg_17_4">15,440</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Tc_TGYH8UAqkEmLfmr1-ed24w_17_6">14,610</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_cc-7E3nZhECRE3sd_7yCYQ_18_2">7,615</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_AbYhjGVfHU6gAUXzaKMO2w_18_4">5,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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_RtklftRtn0Kn-1CgJ4IU4g_18_6">12,014</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;">Non-cash operating lease 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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:NonCashOperatingLeaseExpenses" scale="3" id="Tc_BGM0WsWU7kah4zPdFqPtOQ_19_2">14,321</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:NonCashOperatingLeaseExpenses" scale="3" id="Tc_yXInzhkL-06-EvYWIY6RCA_19_4">13,208</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:NonCashOperatingLeaseExpenses" scale="3" id="Tc_g05EflpCxkK_EJIhxy-hMA_19_6">18,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;">Write-down of 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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Tc_46g5cOeLmUO8pklTDUIcgw_20_2">14,070</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Tc_Zw9UOpeo_E23wN3bwELD9g_20_4">7,475</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Tc_TRxdyx1cHkeWTtswsmTgPA_20_6">113,079</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;">Share-based compensation</p></td><td style="vertical-align:bottom;white-space: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_7iS3Udmo90OuNeXLy-Z5KQ_21_2">8,808</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_DNv_dRby2Ue7FQwEPMBgYw_21_4">9,370</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_V5vU5AQKQUGlf6S6nzZr7Q_21_6">55,335</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;">Unrealized gain from sales to 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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:UnrealizedGainLossFromSalesToInvestees" sign="-" scale="3" id="Tc_k14QKEe7LECZfUMZ-peqHw_22_2">35,890</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:UnrealizedGainLossFromSalesToInvestees" sign="-" scale="3" id="Tc_DhbsR7S7uUytMaA26qu05A_22_4">5,971</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:UnrealizedGainLossFromSalesToInvestees" sign="-" scale="3" id="Tc_P7SvLT1EbUyBb0HtrtNLUA_22_6">2,892</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" sign="-" scale="3" id="Tc_c26JRo5-KEijWKu9F5R4EQ_23_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="Tc_r9_AxRK_pUO6fj9ANoReNw_23_4">16,908</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" sign="-" scale="3" id="Tc_EjHNpc4sGEOXj2mCHBXTCQ_23_6">17,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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_tyln89UM_ECduHO2uzLZrQ_25_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_2v35OHGCo0mJMx8P1KaIgg_25_4">357,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" sign="-" scale="3" id="Tc_pdfNz_FrYEOvoPf118wrtA_25_6">58,985</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="3" id="Tc_0boeXcvuQkSfGrx5I5mrcQ_26_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="3" id="Tc_o5pGmMbwK0aQIdyr2e1UxA_26_4">23,367</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" scale="3" id="Tc_zLerPZw7_0m5WsdMiQOKCg_26_6">43,571</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" scale="3" id="Tc_553q7utMlkyXvT3u3UElkQ_27_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" scale="3" id="Tc_o97CCBrwL0WAaBdzqvOX7w_27_4">4,451</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" sign="-" scale="3" id="Tc_8tb164MvJEqjMJr95FymTA_27_6">9,210</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="Tc_O8mtKxCNmkamgcGxwagiQg_28_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" scale="3" id="Tc_pHmlPRAdlkizhxNkKvDr7Q_28_4">406,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInInventories" sign="-" scale="3" id="Tc_Yj0GKXWnrE6xJoCmX9IJHA_28_6">182,767</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInValueAddedTaxReceivable" scale="3" id="Tc_V-VinUqgGEWbcT_QQKN_kQ_29_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInValueAddedTaxReceivable" scale="3" id="Tc_pmfdXE-VgU-i3s4zDe3JgQ_29_4">43,881</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInValueAddedTaxReceivable" scale="3" id="Tc_SUsgup4MEkSK0EcQE7bxEg_29_6">5,985</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAdvanceToSuppliers" scale="3" id="Tc_xm9kVmeucEqKdCdq_7KWGA_30_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAdvanceToSuppliers" scale="3" id="Tc_xe31tpf_eEKrsHby3AKvTg_30_4">52,893</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInAdvanceToSuppliers" sign="-" scale="3" id="Tc_GI3-8fG7ZEqwqPemBIqjEw_30_6">54,915</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProjectAssets" scale="3" id="Tc_6A5nR8cC2kCJw9apYv4s8Q_31_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProjectAssets" scale="3" id="Tc_9sjZw3HHrECnctyNyoqYWA_31_4">302,839</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInProjectAssets" scale="3" id="Tc_-hHRVCSW50Cc_rXYN5Oo_g_31_6">349,830</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_c_XkzQmOKECIdhbeBNYUog_32_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" sign="-" scale="3" id="Tc_jl1uV7IPn0aof-K0jjoAUw_32_4">151,663</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_xYL0AGmEckaqT2qi5SiJLg_32_6">22,277</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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" sign="-" scale="3" id="Tc_EeV7H0_MgkScK9UiMUpsmg_33_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" scale="3" id="Tc_60CIsMho-UajI7ups7a9EQ_33_4">17,350</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" scale="3" id="Tc_13sl9i4Ja0qvQZ-gMZir0A_33_6">33,597</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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" scale="3" id="Tc_bewoooowcEG15YohQm8XVw_34_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" scale="3" id="Tc_6JGbDk_QhE2roNA0NNXhxA_34_4">351,535</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableTrade" scale="3" id="Tc__z5ZCWKh90aE5-4NxjiBJg_34_6">13,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;">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInNotesPayableCurrent" scale="3" id="Tc_cQ5egMAVpEm9iV8Q1g7Cxg_35_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInNotesPayableCurrent" scale="3" id="Tc_PV46f-L_OU6zOLP6ijojnA_35_4">721,039</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInNotesPayableCurrent" sign="-" scale="3" id="Tc_gsun5tg5dE6sDJih91vhJQ_35_6">590,418</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" sign="-" scale="3" id="Tc_avtx4mWGr0GNKE6Lnj30ew_36_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" sign="-" scale="3" id="Tc_jMJtlgnS7UCjIiwoq5aCRA_36_4">54</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" scale="3" id="Tc_hJs5PenfqUGaIm94zf0TKg_36_6">427</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccountsPayable" scale="3" id="Tc_GTKVqB6fFUS-_P5uK8_R-Q_37_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccountsPayable" sign="-" scale="3" id="Tc_fO5LCKIY40OlgDfdsylI1Q_37_4">417</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherAccountsPayable" scale="3" id="Tc_zNdpu7VOUki7pLhSN61vsQ_37_6">169,944</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" sign="-" scale="3" id="Tc_dVOQTl5WQ0SXdbFxfSMeHg_38_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="Tc_ZfsoFqb0QUiuA679gC0ziQ_38_4">209,855</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="Tc_g9JBboS_q0Ss4v3lCmFTmQ_38_6">59,383</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" sign="-" scale="3" id="Tc_gFKqiZKGREumnFrQ_hTCMw_39_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" sign="-" scale="3" id="Tc_nV5W9oM07keJqF-zhvW_Ig_39_4">14,160</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" sign="-" scale="3" id="Tc_D097qkDmXEWrIZWpwEsijQ_39_6">14,571</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" id="Tc_7Mh8vreti0-po1Z6qDa6lQ_40_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" id="Tc_Jbu0AML0L0uGrnhIKOB8yQ_40_4">68,492</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingLiabilities" scale="3" id="Tc_D0Z3_uCyh0imxsu249SRwg_40_6">337,055</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_YxVSFuYDdU2NdBvihfW1Qw_41_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_ulkXoaUzz0mA0Yx6sIB97g_41_4">1,718</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_D0QXC1B-TUeDLWgv8VftUA_41_6">29</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="3" id="Tc_lme64TcDaEe2Spg3NNObpg_42_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" scale="3" id="Tc_Bwpe8Z3S-UGrZgLGWHRwWw_42_4">31,851</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" scale="3" id="Tc_zBZVhQXFu0-M2AEHA2rhxw_42_6">39,133</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" sign="-" scale="3" id="Tc_4aceiofunkWS-B4YWIvF6g_43_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" sign="-" scale="3" id="Tc_jE-AMF5bf02KQMaEkMX3Mw_43_4">9,625</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingActivitiesCashFlowStatement" scale="3" id="Tc_508cwxFfqE6qS7o82-DIdg_43_6">23,873</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" sign="-" scale="3" id="Tc_idBmWPwWPEO8-Cmo99UYHQ_44_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_J2sXiDqQBEWUg-QOxnA5zQ_44_4">916,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_TXYwH0iWu0K60MkUptWhfA_44_6">684,615</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_NDsFicHxTUWylamiGX7zEA_1_2"></a><a id="Tc_edkbEK1bOEmzAgf_sfpZFg_2_2"></a><a id="Tc_2tcG7XEuc0yGv_XsHwk5Uw_2_4"></a><a id="Tc_D9uVlqOhQkOQAsqHLsrjiw_2_6"></a><a id="Tc_aibge1yHiU6VNxclVXXkNA_3_2"></a><a id="Tc_nHvw2qiMskuVvpD3oRgpBA_4_0"></a><a id="Tc_4s702YvxqUq8sDPC1OD-oQ_5_0"></a><a id="Tc_oZmBo9ZAUkejWxpiBDlVng_6_0"></a><a id="Tc_6U9H8nKuvkiPvCRQmngIZg_6_2"></a><a id="Tc_X-6AwRUnhkeORTkn6Btg9A_6_4"></a><a id="Tc_4HkhVcJVxk2bLsNqsFTejQ_7_0"></a><a id="Tc_lk-Mx_WAaE-Uvq2TsrNohw_7_2"></a><a id="Tc_iydzbIxOfkGSg971sIQI-Q_7_4"></a><a id="Tc_WA8BSs2e80ecOykxP8ArZg_8_0"></a><a id="Tc_UYWt-qcj6EeBxf-ESGxJuw_9_0"></a><a id="Tc_r-Rsxy6HI06JPmyITWPXuw_9_4"></a><a id="Tc_V4Jv1geOIUyG_liuVaRAZg_10_0"></a><a id="Tc_AHhj8CgsfEie1zsF51HKdw_11_0"></a><a id="Tc_fnNbosInVEeTFGonZQRzyQ_11_2"></a><a id="Tc_ujPpiScBEUuryM_L-ANhkg_11_4"></a><a id="Tc_o998G64IZESQsFKDBXO5GQ_12_0"></a><a id="Tc_M7S3DuBZ00-2AkRbweO53w_13_0"></a><a id="Tc_9Jc3tsYWvEClJgeg67riqw_14_0"></a><a id="Tc_5AObJL_w2EqGK9y0NEwRnA_15_0"></a><a id="Tc_2oQeJhwRmk23D1E3wiVb2g_16_0"></a><a id="Tc_DvcoHO1fxkqpupYBfpbpUA_17_0"></a><a id="Tc_XznMnv76AEWsieCNOQI6_A_18_0"></a><a id="Tc_mZrDaiC91U2ntoHTIuS4Gg_19_0"></a><a id="Tc_ZPEbZhEHVUSr-Ewgqe2uSA_20_0"></a><a id="Tc_1HtzhCmiGkOHbbC07Vi2rg_20_2"></a><a id="Tc_OkJ6NuERH0-p7g-Bc0rPWw_20_4"></a><a id="Tc_xQ9EeBeOM0KqLa4wUyBHdg_21_0"></a><a id="Tc_4dM-Phqmt0SzdGfd39debg_21_4"></a><a id="Tc_SL_ysMuRn0-RjppB-nEGyQ_22_0"></a><a id="Tc_728vCoFFH0OefuAdKwcxOg_23_0"></a><a id="Tc_84qFDJoyQkOsFcXzjNzf8g_23_2"></a><a id="Tc_eHCPAUK9gkiSyWKAam4mfQ_23_4"></a><a id="Tc_XGyRQi-Bi0GtPmlFMk_cBQ_24_0"></a><a id="Tc_ETvWo4S970-3CvjaWUr51Q_24_4"></a><a id="Tc_wy7EgmDh7UmqtPXAb1cCJQ_24_6"></a><a id="Tc_Q37LAhAU8k6UYIl2vqKdyw_25_0"></a><a id="Tc_BfGtXrCxkkuLoVepkOOsZw_25_4"></a><a id="Tc_YhJ9_x-cX0mYQY6CT91-og_25_6"></a><a id="Tc_riHCwsaJs02U6bSiHrz-xw_26_0"></a><a id="Tc_-Cxz6PrzDEiMAWsG05NJfQ_26_2"></a><a id="Tc_d2t4vg-rV0KKVuN02R8-ag_26_4"></a><a id="Tc_iG4ykettfUe5Gc8lzjutcA_27_0"></a><a id="Tc_ocrHeURkvEqiDluOocB2QA_27_2"></a><a id="Tc_noRJ_cllJUCk3mQIbwT1bw_27_4"></a><a id="Tc_EOt0K4hPP0yWaZRKSV2dng_28_0"></a><a id="Tc_Bt5w3yIdIkmnNg1Vcu_diA_28_2"></a><a id="Tc_scxUsisSqUi1wiB3FDJ-qw_29_0"></a><a id="Tc_wrhA04uvjkqrEUeELm4aGg_29_4"></a><a id="Tc_JOSIA5MHU0aFUNKOZxQlng_30_0"></a><a id="Tc_tfwFHTxEB06i-NwBeIZ56A_31_0"></a><a id="Tc_RHfE_9EPj0uafWp06cxa5Q_32_0"></a><a id="Tc_4k7yykFYokukgF_5p0Gkqw_33_0"></a><a id="Tc_VX_CAB_49Ey3CHZ7mWY8gw_34_0"></a><a id="Tc_OxdKCT3zBEufmaTBUida-g_35_0"></a><a id="Tc_UiRJNFhjEEe4uV3WtmhEUg_36_0"></a><a id="Tc_lrOc65qb9UmE_v4MLVqewA_37_0"></a><a id="Tc_ZBWpzMHoh0CNF5zpeV2qjA_38_0"></a><a id="Tc_ned2yCDfvUq0tWk4_Is5WA_39_0"></a><a id="Tc_saMRS0YlLUehrZolJ7W1rg_40_0"></a><a id="Tc_t7rGxPdRM0enBzt5BIeUzA_40_2"></a><a id="Tc_ZIp9xR-iwkG0VzWjf3n9zw_41_0"></a><a id="Tc_-R6j5mcOOkC9RgqB6HtWKQ_41_2"></a><a id="Tc_nrw2_aVAE0i3HSsTXQwyzQ_41_4"></a><a id="Tc_DoixWURo_EuZjCVveLIUyQ_42_0"></a><a id="Tc_tvuDxsWNTU-SUVv1rIguag_43_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;">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><td style="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;">2023</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;">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="Tc_elmd-Q-0-ke7NguyMtmkeA_5_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="Tc_pfeAHFIe8EuWC9284jHR2w_5_4">19,355</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="Tc_fzN93ZXSDU-n2zZnKIIKxQ_5_6">113,404</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;">Acquisition of subsidiaries, net of 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: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><td style="vertical-align:bottom;white-space:nowrap;width: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireAdditionalInterestInSubsidiaries" scale="3" id="Tc_zrMm1JzcfkGpqdasI2c_SA_6_6">9,448</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;">Investment in equity securities</p></td><td style="vertical-align:bottom;white-space: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><td style="vertical-align:bottom;white-space: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquitySecuritiesFvNi" scale="3" id="Tc_deq_A8LxKU-8MH7HcArjdQ_7_6">427</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" scale="3" id="Tc_4AB0uyfjgUm63lrSfzErhg_8_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" scale="3" id="Tc_8ZC5tz_Lbk6vQd8fdbVsTw_8_4">7,083</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" scale="3" id="Tc_ArTga-L2Hkm4ZDjsOhZCuA_8_6">2,759</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" scale="3" id="Tc_BDgBlxZnRUOeErJJQRTHfA_9_2">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><td style="vertical-align:bottom;white-space: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" scale="3" id="Tc_MWGgi1SG5ECx6kq04Cgg7g_9_6">301</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 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_0odCeQt2Y0OJaOsY_J4JoQ_10_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_fPTIn5VFDkOvGHtfPtpDrQ_10_4">627,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_IjLlSpkteUi_qVR01F55Ew_10_6">1,116,461</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 right-of-use 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 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><td style="vertical-align:bottom;white-space: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePaymentsUse" scale="3" id="Tc_W5FN5qEWGk2rwOuQ54vktA_11_6">36,121</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 disposal 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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="Tc_0Q35UHhnNk2El2Qitw4uuA_12_2">18,555</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="Tc_Gg4M_pe1EEytNRTUE3gymg_12_4">7,479</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" scale="3" id="Tc_m1svptnwb0mNbvXS7xlMRw_12_6">10,317</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;">Purchase 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%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSolarPowerSystems" scale="3" id="Tc_Phe7anFWAkeEltVbUe7_uw_13_2">775</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSolarPowerSystems" scale="3" id="Tc_GVn26SM9H0y55Rkri0If0A_13_4">882</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSolarPowerSystems" scale="3" id="Tc_Q8ULP9xPaUaMFrqNwMisug_13_6">408,999</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 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;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems" scale="3" id="Tc_3sjjpsls7k2kjdp_X8Tq2A_14_2">18,397</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;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems" scale="3" id="Tc_ixsGECuO2kmIURU7nSyiPw_14_4">2,302</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;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems" scale="3" id="Tc_rYP8R3oUUkmdTcWhz355bw_14_6">67</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;">Net cash used in 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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_59efBzWSPUO4hhvacYE7bw_15_2">429,570</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_OtWP0UFJNUWnGNk03cMokg_15_4">630,488</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_qONcOcuhA0u5D5qsw1IRoQ_15_6">1,671,416</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;">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: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;">Proceeds from 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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromNotesPayable" scale="3" id="Tc_kQKjm9CoEkO-Jk31NByH_Q_17_2">1,742,064</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromNotesPayable" scale="3" id="Tc_hP4lXrEPUE6RY4ttYabpHg_17_4">1,387,537</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromNotesPayable" scale="3" id="Tc_a13r9RsXAE2aBkHyhJTbag_17_6">1,566,240</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;">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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="Tc_dQG33Eq_sk2UftthAGtfng_18_2">1,879,884</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="Tc_8jSq9PoNoEOne-u-4bjUHg_18_4">1,695,563</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfNotesPayable" scale="3" id="Tc_F0h7wMTONkqvaizZtMW8sQ_18_6">1,603,571</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 long-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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" scale="3" id="Tc_MHfcQebv0E2MzB6PrtCKDQ_19_2">588,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" scale="3" id="Tc_ATPn-yZhs0SwH9tFfO-mRg_19_4">770,368</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" scale="3" id="Tc_Z2YHal8CcEm8mhywJc4edg_19_6">1,016,931</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 green bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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><td style="vertical-align:bottom;white-space:nowrap;width: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromConvertibleDebt" scale="3" id="Tc_9g0lfE1aCEi1jlW7G2xfEg_20_6">121,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: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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToMinorityShareholders" scale="3" id="Tc_HHoPv0HxX0W8KTwLovuR-g_21_2">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><td style="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToMinorityShareholders" scale="3" id="Tc_FySX37ObIUeEpP7pfv0_jw_21_6">1,446</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 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="Tc_VNqr1_l_zU6vBl0MgWd2hQ_22_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="Tc_S4gcIry3TEGjYEoxciAxrg_22_4">15,109</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromMinorityShareholders" scale="3" id="Tc_a6fP7p6U40at9Rqvu4Zzlw_22_6">5,910</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;">Distribution 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 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfDividendsMinorityInterest" scale="3" id="Tc_pTvcl6J93kW_ZKWui492yg_23_6">3,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;">Repayment 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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromPaymentsToMinorityShareHolder" sign="-" scale="3" id="Tc_g5th1PB9r0WlqXwcvLYnuQ_24_2">6,588</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;">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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfCommonStock" scale="3" id="Tc_ntthgAr3LUiNEjGuZZ9_4Q_25_2">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><td style="vertical-align:bottom;white-space: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 subsidiary's offering of its equity 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;"> &#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><td style="vertical-align:bottom;white-space:nowrap;width: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromSubsidiaryEquityOfferings" scale="3" id="Tc__jlJYCnWsEmwQ5azpTludw_26_6">966,892</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;">Cash payment for transaction costs of subsidiary&#8217;s offering</p></td><td style="vertical-align:bottom;white-space: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><td style="vertical-align:bottom;white-space: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsOfStockIssuanceCosts" scale="3" id="Tc_IQaD16Zxk0CptlBV70lhug_27_6">38,995</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;">Repayment of financing 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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfDebtAndCapitalLeaseObligations" scale="3" id="Tc_95nU-CwFNUW-XnCu0327xg_28_4">29,595</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfDebtAndCapitalLeaseObligations" scale="3" id="Tc_CgwurvA-ykubQUqxnyKiVA_28_6">28,013</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 sales-leaseback arrangement</p></td><td style="vertical-align:bottom;white-space: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:SaleLeasebackTransactionProceedsFinancingActivities" scale="3" id="Tc_T2VyGG6awkaExo7X_qIJ7A_29_2">45,693</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:SaleLeasebackTransactionProceedsFinancingActivities" scale="3" id="Tc_WYIgfy9b4E-rw5meR8tPhQ_29_6">91,648</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;">Repayments of finance lease obligation</p></td><td style="vertical-align: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:RepaymentsOfFinanceLeaseObligation" scale="3" id="Tc_euHysLB0f0OyR7baMkXfsQ_30_2">23,090</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:RepaymentsOfFinanceLeaseObligation" scale="3" id="Tc_ThLmq9DRAUGtW9aXADBMcA_30_4">19,217</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:RepaymentsOfFinanceLeaseObligation" scale="3" id="Tc_VesMo3yp2kOwntekm1dqHg_30_6">39,801</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:8pt;margin:0pt;">Net cash provided by 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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_2XbGSg8XykeXzU4v2wJXVA_31_2">614,071</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_OsNwQIHPGESp_nNs4vkqoA_31_4">428,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_cTHlg2NP0kKz6CbFDmXXfw_31_6">2,052,828</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;">Effect of exchange rate changes</p></td><td style="vertical-align: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" id="Tc_9vp_T5vXFU6NrTrEcVWorg_32_2">18,320</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" sign="-" scale="3" id="Tc_jy81G3gUT0CKPWqlWUiOrA_32_4">179,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" sign="-" scale="3" id="Tc_F2ebw28u_U2ngRdyFpXDeA_32_6">89,098</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;">Net increase (decrease) in cash, cash equivalents and restricted cash</p></td><td style="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_GRDyvIZ8h0qIYIifMfTXMQ_33_2">205,433</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_6IaVv7Yc6UCEEfoAVx2YjA_33_4">535,221</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_gdEMfoKfmkidd2RHYkbHoQ_33_6">976,929</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 beginning 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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2019_IAvlFUuH00KKZuwXmlH8CA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_2UJkpBdJJU65R4NxfmLC_A_34_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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_u2gPevg1KEOzGdU3Sad2RA_34_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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_Nj2YfKSTQkGwzaAF5Q29BA_34_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;">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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_QsXshTMSP0iWsn6UByYrWQ_35_2">1,434,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:8pt;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:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_6GclL6ZK1UuTGWxmSliAQg_35_4">1,969,503</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_z8q6Ro_3fECI9bN8UvTkVA_35_6">2,946,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;">Supplemental disclosure of cash flow information:</p></td><td style="vertical-align: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: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;">Interest paid (net of amounts capitalized)</p></td><td style="vertical-align:bottom;white-space: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_Vvt5msGB0UefCr6SGeA9eg_37_2">71,006</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_tYhUiYLNmky1rq8rWrMagA_37_4">76,511</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_i-vfTnRMfU6qXPYnru5uGA_37_6">121,665</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;">Income taxes paid, net of tax refund</p></td><td style="vertical-align: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="Tc_S7JiVovCdU2ZXXKw4pukUg_38_2">57,396</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="Tc_l8o2zdqKpUSQg10Mgpa3lQ_38_4">77,400</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaidNet" scale="3" id="Tc_fMsJ6p2zfk-CTCs3SW0Qlg_38_6">83,077</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 schedule of non-cash 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;">Reclassification from project assets to 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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ReclassificationFromProjectAssetsToSolarPowerSystems" scale="3" id="Tc_UzNA7Qyn80abnEXhy6T0WA_40_4">263,710</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ReclassificationFromProjectAssetsToSolarPowerSystems" scale="3" id="Tc_bHDKbIXkS024NRrVuCf13w_40_6">119,067</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;">Reclassification from inventories to 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: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;">&#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;">&#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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ReclassificationFromInventoriesToSolarPowerSystems" scale="3" id="Tc_isOndHCPbEml6MssWTE8eQ_41_6">46,197</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;">Borrowings assumed by third parties with project asset sales</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:BorrowingsAssumedByThirdPartiesWithProjectAssetSales" scale="3" id="Tc_8CXET_3UgEufBhM2VbmUGw_42_2">118,406</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:BorrowingsAssumedByThirdPartiesWithProjectAssetSales" scale="3" id="Tc_GqLofU_rv0SQuDY2QOAtZQ_42_4">193,578</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:BorrowingsAssumedByThirdPartiesWithProjectAssetSales" scale="3" id="Tc_GIymZDj1pESnY2HiLPXSWQ_42_6">161,709</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;">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="Tc_VEtWwUk1502mETrkVXIXSQ_43_2">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;">&#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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="Tc_Uar-5o9jpEOKH_aCff5a_w_43_4">549,883</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;">&#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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" scale="3" id="Tc_PApCMHteuU-bTOcFITXMsg_43_6">933,029</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_51KARZcBG0ueBGxQV0TG6g_1_2"></a><a id="Tc_wJKb0cq_BE63HyXAlbrjaQ_2_2"></a><a id="Tc_ZI2GtqVma0Oac5I9D7pDNw_2_4"></a><a id="Tc_c8TBxPQ8nkCVouv8eoqnmg_3_2"></a><a id="Tc_EmiOe6sA60qaAufztoOXrg_4_0"></a><a id="Tc_6wmCpb_G8Ey-fbjW7_Q_Vw_5_0"></a><a id="Tc_fssVkRTN1kiLpms-VDbv-w_6_0"></a><a id="Tc_nNcyIdamHUSIpqxHTbviWw_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;">2022</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;">2023</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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_9rVHvlneOE-2tYfXxiGQ4Q_4_2">981,434</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_MxzfxCxt40qPYyCL5F75oA_4_4">1,938,689</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_sYojjIPiCEib0fkWoGkLSQ_5_2">978,116</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_X9nHzY6By0KV4DlpUYs-Aw_5_4">999,933</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc_OV508586UEGZAN23O47O8A_6_2">9,953</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedCashAndCashEquivalentsNoncurrent" scale="3" id="Tc_aleD92_AgESNYke6TdlG9g_6_4">7,810</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_TGse8ty_s02lCUr3-7gLZw_7_2">1,969,503</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_F5K3AV3Bq0Kmk0OvxteH7Q_7_4">2,946,432</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, 2021, 2022 and 2023</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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:NatureOfOperations" id="Tb_aUq0Pjzy2ka2tPADleFpig" 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 12pt 0pt;">Canadian Solar Inc.(&#8220;CSI&#8221;) 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 energy storage solutions, and developer of utility-scale solar power and battery energy 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 12pt 0pt;">CSI was incorporated pursuant to the laws of the Province of Ontario in October 2001, and in 2006, changed its jurisdiction by continuing under the Canadian federal corporate statute, the Canada Business Corporations Act, or CBCA. 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 12pt 0pt;">In July 2020, the Company announced its plan to carve-out and publicly list its subsidiary, CSI Solar Co., Ltd. (&#8220;CSI Solar&#8221;) in China (the &#8220;IPO&#8221;). Refer to Note 22 for further information.To qualify CSI Solar 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 shares to third-party investors for an aggregate consideration of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="Duration_7_1_2020_To_7_31_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_7DF6CjZRPkKmp86srDDe_w" decimals="-7" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="9" id="Narr_s9R8IYpDuE2Ke0FL1btQ2w">1.50</ix:nonFraction> billion (approximately $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_7_1_2020_To_7_31_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_7DF6CjZRPkKmp86srDDe_w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferred1" scale="3" id="Narr_TtHdII0IVE-mTT8ZwWWxPQ">219,000</ix:nonFraction> on the date of transaction), and selected employees also purchased existing CSI Solar shares from the Company for an aggregated consideration of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="Duration_7_1_2020_To_7_31_2020_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_zQysP7sf10uO6Pe_iWJl7w" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="6" id="Narr_c3wjr9efAUuWad7nkozrSQ">31</ix:nonFraction> million (approximately $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_7_1_2020_To_7_31_2020_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_zQysP7sf10uO6Pe_iWJl7w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" scale="3" id="Narr_WJGzCD2eO0yMX93vutNd1A">4,500</ix:nonFraction> on the date of transaction), following which, the third-party investors and Canadian Solar employees, in aggregate, owned <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_OwnershipAxis_csiq_CanadianSolarMember_VNCIWLaEoEqbNebsJGuYhg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" scale="-2" id="Narr_wwux7EDNTEqNLvyq-a51Zw">20.4</ix:nonFraction>% of CSI Solar as of December 31, 2022. The Company&#8217;s wholly-owned global project development business, its Recurrent 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 0pt 12pt 0pt;">In addition, CSI Solar approved an employee incentive plan and utilized a limited liability partnership as a vehicle to hold CSI Solar shares that were used under the employee incentive plan. Eligible CSI Solar directors, employees and board members have collectively subscribed to equity interest in the partnership for an aggregate of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_EurWMbbB_UW9LVBtT8eOOw" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" scale="6" id="Narr_tdPJXVxhbUihF9SoVa_q1Q">248</ix:nonFraction> million ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_EurWMbbB_UW9LVBtT8eOOw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" scale="3" id="Narr_CLqh4FEZLUOvBRbo_7_A8Q">36,342</ix:nonFraction> on the date of transaction), for which the vesting conditions include the completion of the IPO and the service period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On June 9 , 2023, CSI Solar completed its IPO and its shares began trading on the Science and Technology Innovation Board (the &#8220;STAR Market&#8221;) of the Shanghai Stock Exchange (the &#8220;SSE&#8221;). In the STAR IPO, CSI Solar raised proceeds of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_6_9_2023_To_6_9_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_A7lHs4qezUy15tu1yj9jkA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" scale="3" id="Narr_ukoDT7OEWEipB_CyxRUXXg">927,897</ix:nonFraction>, net of transaction costs. Upon completion of the IPO and as of December 31, 2023, the Company owned <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCoLtdMember_b8ZbWxyuok219iMzTCp-tw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_G6llsAMXMkOftyqMKELPfA">62.24</ix:nonFraction>% of the outstanding CSI Solar shares. The Company continues to present CSI Solar as a segment subsequent to the IPO.</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, 2023, the Company operated two reportable segments as follows:</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: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;"><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 and battery energy storage manufacturing, and delivery of total system solutions, including inverters, solar system kits and EPC (engineering, procurement, and construction) services. CSI Solar&#8217;s e-STORAGE branded battery energy storage business includes its utility-scale turnkey battery system solutions, as well as a small but growing residential battery energy storage business. These storage systems solutions are complemented with long-term service agreements, including future battery capacity augmentation services.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 0pt 18pt;"><span style="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: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;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">Recurrent Energy</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which is the Company&#8217;s clean energy project development platform with </span><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" format="ixt-sec:durwordsen" name="csiq:ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects" id="Narr_Dm_TVBgnSkelw4ZBiZkOkA"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">15 years</span></ix:nonNumeric><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> of experience delivering solar power and battery energy storage projects. It is vertically integrated and has strong expertise in greenfield origination, development, financing, execution, operations and maintenance, and asset management.</span></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;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, 2021, 2022 and 2023</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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" id="Tb_XW3HyzIPh0-lyqv63151jA" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</b></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="Tb_KAhO9-vgYkWMv84HjE2ZeA" 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;">(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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ConsolidationPolicyTextBlock" id="Tb_9yIg30Iw90i6XvTzHefz4Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_eo3dyxxYP0q_6jwGcNqsBg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GuaranteeObligationsMaximumExposure" scale="3" id="Narr_4OZyrUhGWkazFcXyiiiAyg">25,257</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_oV_jXQK8i06bID-v5lLp4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GuaranteeObligationsMaximumExposure" scale="3" id="Narr_qgBnzL4qUU-FdFAkgGitqA">11,163</ix:nonFraction> as of December 31, 2022 and 2023, 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:PriorPeriodReclassificationAdjustmentDescription" id="Tb_kcMQnR-E6Eqw2uL1pj9V9Q" 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, 2021, 2022 and 2023</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_XW3HyzIPh0-lyqv63151jA_cont1" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:UseOfEstimates" id="Tb_krRqwEyPRU299oY32Jz2jg" 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;">(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 identification of performance obligation, determination and allocation of 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, warranty insurance receivable and other receivable, 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, the impairment on goodwill and intangible assets acquired, the grant-date fair value of share-based compensation awards and related forfeiture rates.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" id="Tb_KVlaIa9ttUqhpzcBPYiWKA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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 short-term notes payable, letters of guarantee, letters of credit and bank borrowings. Upon maturity of the letters of guarantee and letters of credit, and repayment of short - term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the Company.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" id="Tb_b7NSnq5mHESMA9RbdGvraQ" continuedAt="Tb_b7NSnq5mHESMA9RbdGvraQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 energy 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: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, 2021, 2022 and 2023</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_XW3HyzIPh0-lyqv63151jA_cont2" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont3"><ix:continuation id="Tb_b7NSnq5mHESMA9RbdGvraQ_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:CreditLossFinancialInstrumentPolicyTextBlock" id="Tb_UrrNAORLKUW5m0F5fWV2dQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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, warranty insurance receivable and other receivable 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 has been 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, and a corresponding reduction in general and administrative expenses. The balance of receivable from these insurers in prepaid expenses and other current assets were $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_acFHZS_OoU66MU8FssBCEw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" id="Narr_WMKxFQ4zokCZvv6YUXbq_Q">1,873</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_jDHpMaygyES8fKLvs1qA3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="3" id="Narr_EZZOqBwWIU-GeGbwVEyfAw">2,929</ix:nonFraction> as of December 31, 2022 and 2023, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:AdvancesToSuppliersPolicyTextBlock" id="Tb_Q9SyLxmlZkC_Lz8i6SA9Fw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:InventoryPolicyTextBlock" id="Tb_SOcIODovN0WRyZYiuM7o2A" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 0pt;">When an impairment indicator suggests that the carrying amounts of inventories might not be recoverable, 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. Impairment indicators considered for these purposes are, among others, obsolescence and damages, decrease in market prices, and future demand forecast.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ProjectAssetsPolicyTextBlock" id="Group_KrcqlOZEuUmfqfmsh5fw-w" continuedAt="Group_KrcqlOZEuUmfqfmsh5fw-w_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 6pt 0pt;">Project assets consist primarily of capitalized costs relating to solar power and battery energy storage assets in various stages of development prior to the intended sale of the solar power and battery energy storage projects. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar power and battery energy 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, lithium batteries, 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></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-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, 2021, 2022 and 2023</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_XW3HyzIPh0-lyqv63151jA_cont3" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont4"><ix:continuation id="Group_KrcqlOZEuUmfqfmsh5fw-w_cont1" continuedAt="Group_KrcqlOZEuUmfqfmsh5fw-w_2"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(j)&#160;&#160;&#160;&#160;Project assets (Continued)</span></p><ix:continuation id="Group_KrcqlOZEuUmfqfmsh5fw-w_2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Solar power and battery energy storage assets 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 and battery energy storage systems on the consolidated balance sheets. During the development phase, the Company capitalizes costs of the solar power and battery energy storage assets as guided by ASC 970. The costs to develop or construct solar power and battery energy storage assets 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 and battery energy storage systems, respectively. While the solar power and battery energy storage assets 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 power and battery energy storage assets is assessed based on the circumstances on each balance sheet date. Solar power and battery energy storage assets 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 12pt 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 less cost to sell 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 12pt 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 power and battery energy 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 power and battery energy 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: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: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, 2021, 2022 and 2023</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_Yd1JizTnCkylLUhmN5jYqQ_1_0"></a><a id="Tc_XV2EgfcN4UeOnka_W5oTjg_1_2"></a><a id="Tc_jx1-qg_nIE64yLhf_kNAmw_2_0"></a><a id="Tc_V5H3DYhcnEqZNkVV_mPLig_2_2"></a><a id="Tc_LRyrbLQ7w0W6eJKVteg2cg_3_0"></a><a id="Tc_KLCBi_QxLEqaBfQDr3kG9g_3_2"></a><a id="Tc_KnUGXpvmxECxibG4bQS3DQ_4_0"></a><a id="Tc_yb0kZ3ohbEqShQVZ0AsWkA_5_0"></a><ix:continuation id="Tb_XW3HyzIPh0-lyqv63151jA_cont4" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont5"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:BusinessCombinationsPolicy" id="Tb_ywyW6WSJhEeTlSe_-IbYhA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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. The Company includes the results of operations of the acquired business in the consolidated financial statements beginning on the acquisition date. For the year ended December 31, 2023, the Company completed three acquisitions that were not individually, nor in the aggregate, significant to the consolidated financial position, results of operations and cash flows of the Company.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:AssetsAcquisitionPolicyTextBlock" id="Tb_EzHTIUkCNEaz2T43dcGuxA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="Tb_OkjMlBT9Z0-Gez-zawhdVg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" id="Tb_YqZnTavf5Uqo-SVCbE2qMA" 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;"><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><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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: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="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_WaEiPFIdpUigAZIrpWVYZw" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_FzP6zKAA2UGZn5Xz90MuAw">10</ix:nonNumeric>-<ix:nonNumeric contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_rbW637K8HkK-S1yVK685oA" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_u2FjbQNVnESxGm7omwU90Q">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="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_kRRetXLgF0Ot_Oa4bmpkTA" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_nZEh17gAAEueM6LeM6X8Dg">5</ix:nonNumeric>-<ix:nonNumeric contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_tKWG_0dlGEmS_JeLhM_iKg" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_lycabP00OEGyR9O_7UVH3A">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="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_b7KOkC-sckKDHZFW9sLHug" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Tc_T0rA1CN4w0m2hBvPgo9mhQ_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="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_fV2OfmeUM0CyXcr4zR9vaA" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Tc_LHTIsczrykG6b6O8t_Cupg_5_2">5 years</ix:nonNumeric></p></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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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-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, 2021, 2022 and 2023</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_a9L29uySRkaqHznAz_0MeQ_1_0"></a><a id="Tc_PJDCqFQPfkaJQkwq26Nfpg_1_2"></a><a id="Tc_O1P9l941x0CAOVJzNzZRDg_2_0"></a><a id="Tc_BAi-YHibTEW8Ytojiz0Kkw_3_0"></a><a id="Tc_FSy1ps0xEECgyUto9pMTFw_4_0"></a><a id="Tc_tdPccLlWp0eRG7btTP4Www_4_2"></a><ix:continuation id="Tb_XW3HyzIPh0-lyqv63151jA_cont5" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont6"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued) </b></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:SolarPowerSystemsPolicyPolicyTextBlock" id="Tb_gWbMfx4FckGtDQBViK0rGQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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 solar power systems 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="As_Of_1_1_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_p-ctdiw5RkiQjve1vUjUew" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_T8Mwd20BGk-Hl_m5y24r4g">20</ix:nonNumeric>-<ix:nonNumeric contextRef="As_Of_1_1_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_OK96WgpChUWj6HVGwfVTcw" format="ixt-sec:duryear" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_GnIx3QWJI0SPGU3DiHCP4g">25</ix:nonNumeric> years to <ix:nonNumeric contextRef="As_Of_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_Mu1TlXWj0UaQrz0gkeDMRA" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_fEScQzvbaEK1vkdG22E5gQ">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_z84Xd7SXaUChpwj5Hlc8kQ" format="ixt-sec:duryear" name="csiq:MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" id="Narr_MRLO0oBHa0eZ2mPntojVAQ">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_z84Xd7SXaUChpwj5Hlc8kQ" format="ixt-sec:durwordsen" name="csiq:MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" id="Narr_7N8voH5jaUCF-FAc8l0JcA">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_23TJRA-bn0aTAtz-hXQI6g" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInDepreciationExpense" scale="3" id="Narr_boSU4AbaHEap4e6FdMCQ5g">2,186</ix:nonFraction> if the change had been made at the beginning of 2021.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" id="Tb_nBYdGoiM5kC2RdhLMn_YCQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 are comprised of customer-related intangible assets that include customer relationships and backlog, trademark, 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="Tb_rf52SL1B9kiBF6OFVG5FaQ" 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;">Customer-related intangible assets</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;">&#160;&#160;&#160;&#160;</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="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_pVgnbbzp9UuDbQs9QBTXEQ" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_o4JmTH4qr0ma8cQByMHqDg">7</ix:nonNumeric>-<ix:nonNumeric contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_37kwuGMl30KCeVsQ1psLOA" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_TxxeP_1pLEudqg57V426KA">20 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;">Trademark</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="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksMember__NjWXWYwfU-DynV03dcxiA" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Tc_Njl0kDi1k0CKKv-WcyLDrQ_2_2">20 years</ix:nonNumeric></p></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="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_AvNSYgA36EqZWQjujBa-zA" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Tc_dUbqMU8uWkStCzd7fbJpqg_3_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="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_Ouee3zmroUSqRenE986NCQ" format="ixt-sec:duryear" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_hTYDG_M7zkSTdUwVGcguxw">1</ix:nonNumeric>-<ix:nonNumeric contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_l0KIKvSXx0SamHkVat9teA" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_dgkHccvRKUGGRtIvrlq3jw">10 years</ix:nonNumeric></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:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:LandUseRightPolicyTextBlock" id="Tb_ID8yC0Gjv0ahpAT1HhMGTw" continuedAt="Tb_ID8yC0Gjv0ahpAT1HhMGTw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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;">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 <ix:nonNumeric contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_jkw4N1o-sEy_lVsiRv6-dQ" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_6atl9oyqqUm3joiG9Ce-UA">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-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, 2021, 2022 and 2023</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_XW3HyzIPh0-lyqv63151jA_cont6" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont7"><ix:continuation id="Tb_ID8yC0Gjv0ahpAT1HhMGTw_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:EquityMethodInvestmentsPolicy" id="Tb_C99UpuuePUuKVJhUPZ9edA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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, 2021, 2022 and 2023, the Company recorded <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt-sec:numwordsen" name="csiq:InvestmentsInAffiliatesImpairmentCharge" scale="3" id="Narr_4RoE3beJQkGN1ZoKm9zteQ">nil</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentsInAffiliatesImpairmentCharge" scale="3" id="Narr_P7rKQXZKdk6o53VD394hbg">357</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt-sec:numwordsen" name="csiq:InvestmentsInAffiliatesImpairmentCharge" scale="3" id="Narr_Xf_DJvpaHkuRQfZXOjBpOQ">nil</ix:nonFraction> of impairment charges on its investments, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="Tb_wYniEo1AfE6_74gUdxpUHQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_2SwyYU91XUiq113Z6Qdipw">6,084</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_T_Q-M5QtT0G5H5adyoE8Rg">60,330</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_kcxPX6jCMEWoTRk4JZWaCQ">5,938</ix:nonFraction> for the years ended December 31, 2021, 2022 and 2023, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:InterestCapitalizationPolicyPolicyTextBlock" id="Tb_HBxxmgi67k6YXNzNKOc4uw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:AdvancesFromCustomersPolicyTextBlock" id="Tb_fYIwSNQUHECmLDQ175KQ0A" continuedAt="Tb_fYIwSNQUHECmLDQ175KQ0A_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(t)&#160;&#160;&#160;Advances from customers</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company may receive payments from customers in advance of the satisfaction of performance obligations primarily for inventory purchases. These current portion amounted to $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Narr_4gBu_kqXLEGOSd99NatQHw">334,943</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Narr_pzeJV0StNka--zo-SBZQJw">392,308</ix:nonFraction> as of December 31, 2022 and 2023, respectively, and the non-current portion amounted to <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="3" id="Narr_yjUu8Cbqnkmf5pzb-M3JfQ">nil</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="3" id="Narr_HS7p-helHk-gwkPbzRRUuQ">52,693</ix:nonFraction> as of December 31, 2022 and 2023, respectively. These current and non-current amounts are recognized as contract liabilities until the performance obligations are completed and are included as advances from customer and other non-current liabilities in the consolidated balance sheets, respectively, based on the expected timing of performance obligation of the contract liabilities.</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-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, 2021, 2022 and 2023</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_XW3HyzIPh0-lyqv63151jA_cont7" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont8"><ix:continuation id="Tb_fYIwSNQUHECmLDQ175KQ0A_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:AssetRetirementObligationsPolicy" id="Tb_q1pvo-YE_EKgDEdUy-KGng" 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;">(u)&#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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetRetirementObligation" scale="3" id="Narr_fnY9H3ocl0y-6VvZcsV5kA">399</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetRetirementObligation" scale="3" id="Narr_lnryPUUDaU-pnoXx1BHpgA">1,249</ix:nonFraction> as of December 31, 2022 and 2023, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:LesseeLeasesPolicyTextBlock" id="Tb_XWJlMxLM6E6d5K4K3_r0vA" continuedAt="Tb_XWJlMxLM6E6d5K4K3_r0vA_cont1" 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;">(v)&#160;&#160;&#160;Leases</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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: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, 2021, 2022 and 2023</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_XW3HyzIPh0-lyqv63151jA_cont8" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont9"><ix:continuation id="Tb_XWJlMxLM6E6d5K4K3_r0vA_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:CommitmentsAndContingenciesPolicyTextBlock" id="Tb_t44FcYZLxEWorRYDJcPKpQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#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;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;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:IncomeTaxPolicyTextBlock" id="Tb_ncAr1b5aAUuSOfohtbgWHA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;Income taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="Group_qwmPxKX8HUmFJyPZk1souQ" continuedAt="Group_qwmPxKX8HUmFJyPZk1souQ_cont1" 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;">(y)&#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 12pt 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 (ac) 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></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-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, 2021, 2022 and 2023</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_XW3HyzIPh0-lyqv63151jA_cont9" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont10"><ix:continuation id="Group_qwmPxKX8HUmFJyPZk1souQ_cont1" continuedAt="Group_qwmPxKX8HUmFJyPZk1souQ_2"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#160;&#160;Revenue recognition (Continued)</span></p><ix:continuation id="Group_qwmPxKX8HUmFJyPZk1souQ_2" continuedAt="Group_qwmPxKX8HUmFJyPZk1souQ_2_cont1"><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;">Battery energy 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 12pt 0pt;">The Company recognizes revenue for the sales of battery energy storage products, 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. Revenue from the delivery of turnkey battery energy storage solutions and EPC services is recognized over time based on the estimated progress to completion using a cost-based input method. This includes the advances that battery energy storage customers are required to make on the value of their battery energy 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;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 power and battery energy storage assets sales</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 and battery energy storage assets (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 or battery energy storage assets. For sales of solar power and battery energy storage assets 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 power and battery energy storage assets are often held in separate legal entities, trusts or investment funds which are formed for the special purpose of constructing the solar power and battery energy 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></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, 2021, 2022 and 2023</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_bB77p6zpgkOjhsSAAF_V7Q_1_2"></a><a id="Tc_tBPXUEV6ZEeoPDuNTExpyA_2_2"></a><a id="Tc__PFGKpJXckiZUUOPzwCFVQ_2_4"></a><a id="Tc_AXGBo8UQAEaICzAgTqd98A_2_6"></a><a id="Tc_Mri-xNxN9EeqXFFIsA6DdA_3_2"></a><a id="Tc_-_H7Ya_1_kmrznjVKBINZg_3_4"></a><a id="Tc_0L1ZhWuT_kuJIHEh_DUNYQ_3_6"></a><a id="Tc_kOQgdyir7ECU-8rxb6wUsg_4_0"></a><a id="Tc_1ZT9M3ZI9kW0QPnowjJ3_Q_5_0"></a><a id="Tc_Ww5T-8SPnEC2GeRM4aaxAw_6_0"></a><ix:continuation id="Tb_XW3HyzIPh0-lyqv63151jA_cont10" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont11"><ix:continuation id="Group_qwmPxKX8HUmFJyPZk1souQ_2_cont1" continuedAt="Group_qwmPxKX8HUmFJyPZk1souQ_3"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#160;&#160;Revenue recognition (Continued)</span></p><ix:continuation id="Group_qwmPxKX8HUmFJyPZk1souQ_3" continuedAt="Group_qwmPxKX8HUmFJyPZk1souQ_4"><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;">Power services (Operations and Maintenance, or &#8220;O&amp;M&#8221;) and asset management </i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Power services (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 power services (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 power services (O&amp;M) and asset management services are expensed when incurred.</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;">Electricity revenue from operating portfolio</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Electricity revenue from operating portfolio is generated primarily by the Company&#8217;s solar power plants under long-term PPAs, virtual power purchase agreements (&#8220;VPPAs&#8221;) 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, 2021, 2022 and 2023, the Company recognized performance-based energy incentives related to electricity generated of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_WPjYxh6bbEq_6RjQ7bNc1Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:AmountOfPerformanceBasedEnergyIncentives" scale="3" id="Narr_N5P2OHcS_kaQCFa_eOyi5g">9,402</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YDotsNiXVU6SNlcaXMaXIA" decimals="-3" format="ixt:numdotdecimal" name="csiq:AmountOfPerformanceBasedEnergyIncentives" scale="3" id="Narr_k4X_qRR-FkK-9YSWj6fCfg">2,908</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ryvoTcfNHUOsDJw-hXCk5Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:AmountOfPerformanceBasedEnergyIncentives" scale="3" id="Narr_E4Hk6ekNM0SrWPiYfATYhA">2,772</ix:nonFraction>, respectively, in revenue. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company evaluates offtake contracts, such as PPAs and VPPAs, and long-term contracts to determine whether the agreements is or contains a lease where the fulfillments of the arrangement is dependent on the use of specific asset and arrangement conveys to the customer the right to control the use of the asset. Where the Company determines that the contractual provisions of a contract contain, or are, a lease and result in the customer assuming the principal risks and rewards of ownership of the asset, the arrangement is a finance lease. Assets subject to finance leases are not reflected as solar power systems and the net investment in the lease, represented by the present value of the amounts due from the lessee, is recorded in the consolidated balance sheet as a finance lease receivable. The payments considered to be part of the leasing arrangement are apportioned between a reduction in the lease receivable and finance lease income. The finance lease income element of the payments is recognized using a method that results in a constant rate of return on the net investment in each period and is reflected in finance lease income on the consolidated statements of operations. Where the Company determines that the contractual provisions of a contract contain, or are, a lease and result in the Company retaining the principal risks and rewards of ownership of the asset, the arrangement is an operating lease. For operating leases, the asset is, or continues to be, capitalized as solar power systems and depreciated over its useful life. 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, 2021, 2022 and 2023 were as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ScheduleOfElectricityRevenueTableTextBlock" id="Tb_LXFo8dr0pkCWNpPb509GqA" 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;">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><td style="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;">2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_93jJV8QIm0u6Bd9Mt4wS9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_aGiIo_HgEUKQ-b2pkjgBiw_5_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_DFjbF0wGBEag26Rbcr_80g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_uein9MTZz06-Jrt3sVW8Sw_5_4">2,256</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_qv1igzzfT0iqsNUYxbs30A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_mesrZumxhE6c6POKkkjutQ_5_6">3,273</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;">Recurrent 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_dP4rfcSfoUG85br_VyTGsw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_tChFOubBDUKtGW4wKT19-Q_6_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember__zkkgeZELECYQdvuU-uBlg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_uwEs5Ibx2EifcydeYj228Q_6_4">21,579</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_wlyQsVEsQUahttUFFxoVMQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_9myrJDepjEq-tNBd7TPfPg_6_6">44,842</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_WPjYxh6bbEq_6RjQ7bNc1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_KOWMrOLPAUibeIb8WL4jOA_7_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YDotsNiXVU6SNlcaXMaXIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_H3yi70a53E-WyCLXarZ_6g_7_4">23,835</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ryvoTcfNHUOsDJw-hXCk5Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_T6OkBS-f10m2s7t1IIutkg_7_6">48,115</ix:nonFraction></p></td></tr></table></ix:nonNumeric></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, 2021, 2022 and 2023</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="_cbfcdefa_19c2_4b3d_84ce_3b613aa7240e"></a><a id="_cbfcdefa_19c2_4b3d_84ce_3b613aa7240e_2"></a><a id="_cbfcdefa_19c2_4b3d_84ce_3b613aa7240e_3"></a><a id="_cbfcdefa_19c2_4b3d_84ce_3b613aa7240e_4"></a><a id="Tc_a16mb2L-lE6R_5sPGSikow_1_2"></a><a id="Tc_GSqPnU4bfUaBPVxMUXslIg_2_2"></a><a id="Tc_4Q9h3pvx2UmkP_q9Xkg2Eg_2_5"></a><a id="Tc_-AO9BuAjnkCJPfIZAd9CHQ_2_8"></a><a id="Tc_avwPm9FMiU2w5BY28GR5uw_3_2"></a><a id="Tc_1zlhU0HuGkWa4mgc1yHzOA_3_5"></a><a id="Tc_rqcO8_D0Wk6Zh8fqOsuIrg_3_8"></a><a id="Tc_YLTpkFvb0EWbwmPEusaxYg_4_0"></a><a id="Tc_OE8VDIZNOE69FpqCDqLcdg_5_0"></a><a id="Tc_IuxLHceCkEWPuwBotM9bAQ_6_0"></a><a id="Tc_owKNoelsF0y29fj3OXd6sQ_8_0"></a><a id="Tc_LttToIFXj0aDKt-GMBtltw_9_0"></a><a id="Tc_GwlzG6AdZ06UJi4jCrwDOA_10_0"></a><a id="_e36cfd22_675b_43f9_82f4_726f70a4241d"></a><a id="Tc_TBkt2McfBEWCveXcRpbqyw_1_2"></a><a id="Tc_fkZE0yZDFE6crT51SDacGw_1_5"></a><a id="Tc_Pb33YasfY06oJZfoYwuawA_2_2"></a><a id="Tc_t4EV9EmXPEagsx2JF7_XFw_2_5"></a><a id="Tc_60ME-uZWBkmHBf5QkB2aig_3_2"></a><a id="Tc_wYBjnaWkm0qmNdhq5hlaNg_3_5"></a><a id="Tc_TkBocdU0skaU-05lq9orgA_4_0"></a><a id="Tc_oFkJQLO3eE6T58YxeF0HuA_5_0"></a><a id="Tc_J-k76eJ_jUecBAqvwQceNg_7_0"></a><a id="Tc_kqTYtwN59kG1EsCiuVmaaQ_8_0"></a><a id="Tc_BNDNlBQwZ0Syk3jEXh5MfQ_9_0"></a><a id="Tc_psTbo3S8HESFLaboYp-ddg_10_0"></a><a id="Tc_V7u8v2GI5ESqdWdKKnfWVg_10_3"></a><ix:continuation id="Tb_XW3HyzIPh0-lyqv63151jA_cont11" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont12"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#160;&#160;Revenue recognition </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><ix:continuation id="Group_qwmPxKX8HUmFJyPZk1souQ_4" continuedAt="Group_qwmPxKX8HUmFJyPZk1souQ_5"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_WPjYxh6bbEq_6RjQ7bNc1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLeaseIncome" scale="3" id="Narr_IEd8umo0bE-VVM5D3Nd8DQ">4,940</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YDotsNiXVU6SNlcaXMaXIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLeaseIncome" scale="3" id="Narr_e5ELRxbKjkeKo1_50IlT7w">4,736</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ryvoTcfNHUOsDJw-hXCk5Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLeaseIncome" scale="3" id="Narr_dMrHR0NQmUK0V_vYsZfaDg">4,434</ix:nonFraction> for the years ended December 31, 2021, 2022 and 2023, respectively. The remaining amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_WPjYxh6bbEq_6RjQ7bNc1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Narr_I1v-KPMMmEOm8aQFKmCGfw">24,480</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YDotsNiXVU6SNlcaXMaXIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Narr_Q9clyaFWhkSK_Jt21S0Jjw">19,099</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ryvoTcfNHUOsDJw-hXCk5Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Narr_0q-MfJiNd0q5IaWTuW3XXw">43,681</ix:nonFraction> for the years ended December 31, 2021, 2022 and 2023, respectively, including performance-based energy incentives are recorded in accordance with ASC 606. For the years ended December 31, 2021, 2022 and 2023, there was <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt-sec:numwordsen" name="csiq:RevenueGeneratedFromFinanceLease" scale="3" id="Narr_qkUUjANPXUWepAN3zNyaRw"><ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt-sec:numwordsen" name="csiq:RevenueGeneratedFromFinanceLease" scale="3" id="Narr_df0EejH4IU2rnG_K4Hw90Q"><ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt-sec:numwordsen" name="csiq:RevenueGeneratedFromFinanceLease" scale="3" id="Narr_tRUE_onfT06QqTDOqcV6PQ">no</ix:nonFraction></ix:nonFraction></ix:nonFraction> revenue generated from finance lease. In 2023, the Company entered into a fixed-price VPPA for the offtake of the generation from one of its solar power systems. The VPPA is settled financially on a monthly basis. The Company&#8217;s VPPA contract does not meet the definition of a derivative because it does not have a notional amount.</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 12pt 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, 2021, 2022 and 2023 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="Tb_JYN92pOEkEiTcgU-a1TCvA" 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;">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><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;">2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_LVtBZfF6NUOmIbdMPHfbMQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_o9ozLxtdrEW7cHvHE5K4jg_5_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_1AmprYuMYUyxAaEgAQ8Vrw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_mOFXH70Qd02njMWGd_FWLw_5_6">6,173,338</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_SEuEAcWLsEKB8jGq-5tJRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_p_850Ip1ZUWNUJjaqNU9iQ_5_9">6,767,156</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_QB-7ZTkSokiOxsrvhB0r9Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_62oAwuEu40GbSGAsROnlJg_6_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_DBX-eee19Ua5lfH9qGltrg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_7BjXWAt2fk2oWkCYJ9656A_6_6">473,747</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_GZqHbDlNqkehDq0GE22Rng" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_cjNiJPvNn0agAddyXld_pA_6_9">348,817</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;">Recurrent 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_UVFxDdJ5WUaJkaCBYEZSOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_YSkjf-dsyEGDjfiQoyZskA_9_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_0nT8QCQFS0usQ-YdxSGbKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_BmMKCrGbZkGoMHEMfbL7ng_9_6">763,698</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_WkKiaqog40anyDNUyUl1Fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_qHY9KXIJ30C1d8v8U6-1Ow_9_9">399,826</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_yXIJLFQQXUu7p5kd6jImpA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_9DgGWGiugk28XmD9P9EODQ_10_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_CkkAzpM5yUC69fxG3DytTQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_lwkurtNOU0yhA-8ln3EpWA_10_6">57,827</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_gVl4LAJ28EKrWm3lcp4Dnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_6falct3QyUWcBlC-S63obA_10_9">97,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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_i071PoEiwEC915fbMeSelw_11_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_QUkhRfLo_kuFQ68UWkh46Q_11_6">7,468,610</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_QWH4QimofkqBuAZsHDOXEw_11_9">7,613,626</ix:nonFraction></p></td></tr></table></ix:nonNumeric><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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the year ended December 31, 2023, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="3" id="Narr_EdqiwE7_DUirCjGKy3p9yw">398,545</ix:nonFraction> of the Company&#8217;s revenue was recognized from the beginning balance of contract liabilities as of January 1, 2023. For the year ended December 31, 2022, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="3" id="Narr_h-aOMadvtUejq7EPCTn1qw">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="3" id="Narr_mu_2a-Auwk-g18V8tYEyqw">725,808</ix:nonFraction> as of December 31, 2023 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="Tb_lQgJxqsawU-laxFb1KRhAw" 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:1.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;width:14.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.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:1.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;width:14.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-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.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 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;">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 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;">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;">2022</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;">2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_wksQEaEJdEqR6MnIr7YV8g_5_3">57,770</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnbilledReceivablesCurrent" scale="3" id="Tc_VAzZ9y5vQECrYimaaCG1VQ_5_6">101,435</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_cHooFWNPT06JBhI15Uv5sA_8_3">334,943</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="Tc_7eWLqL-9j0G9qNNJrz28lQ_8_6">392,308</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;"><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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ContractLiabilitiesOtherCurrentLiabilities" scale="3" id="Tc_RPaMKPzwFUu1_zfN74uDMg_9_3">71,808</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ContractLiabilitiesOtherCurrentLiabilities" scale="3" id="Tc_E5sVC8J2AEC1oE1uXHk8Hg_9_6">333,500</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;">Other non-current liabilities</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: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%;background:#cceeff;border-bottom:1px solid #000000;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:1.62%;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:14.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ContractLiabilitiesOtherNonCurrentLiabilities" scale="3" id="Tc_8JezIECIa0yN26mwmg1hHw_10_6">52,693</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;"><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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="Tc_YBbbL9oVskaFYfr9TPVtZA_11_3">406,751</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: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%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="Tc_f6Im98G4JU2mSbIW-3_HXg_11_6">778,501</ix:nonFraction></p></td></tr></table></ix:nonNumeric></ix:continuation><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></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, 2021, 2022 and 2023</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_XW3HyzIPh0-lyqv63151jA_cont12" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont13"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#160;&#160;Revenue recognition (Continued)</span></p><ix:continuation id="Group_qwmPxKX8HUmFJyPZk1souQ_5"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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, 2022 and 2023 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><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock" id="Tb_vBQKi96TkUiPPWfl2TcZiQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(z)&#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 within the CSI Solar segment of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2WKKJyW2jU2pdZDSDXQ1gA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Narr_koEJyhlFDkKU8Z9aHqlbCQ">316,358</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zKatWNF4TU6yRSoTij1Shg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Narr_cHbNbsf6a0eu-ONWJY85uQ">453,865</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2hzThO8Z50ufaUB8VvdJXg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Narr_7Odl3sZ-QUeCtP29ezYCeA">237,947</ix:nonFraction>, are included in selling and distribution expenses for the years ended December 31, 2021, 2022 and 2023, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ResearchAndDevelopmentExpensePolicy" id="Tb_wjUmLqijoEq7ZrBux_MUTA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)&#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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Narr_Ujc92nYe10mmeCN32QORlA">58,407</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Narr_rgq8OaykLUWrrVJMfIdsww">69,822</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Narr_1VvDMLBMBEGjBgFxJIrCog">100,844</ix:nonFraction> for the years ended December 31, 2021, 2022 and 2023, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock" id="Group_HdUK1BKcOEan3hWWczwMmg" continuedAt="Group_HdUK1BKcOEan3hWWczwMmg_cont1" 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;">(ab)</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 12pt 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 weather-related project damages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 ROU assets, 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></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, 2021, 2022 and 2023</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__RNSdNRp3EKzo7fu5MZgdg_1_2"></a><a id="Tc_pZBAJd7c-U6iL3r7IUGluw_2_2"></a><a id="Tc_rec6wdex8EeRopZFfjqArA_2_4"></a><a id="Tc_3CykuyhfY0qgyv8K96e7Mg_2_6"></a><a id="Tc_DVmST343BUiwPH3XnRpU9Q_3_2"></a><a id="Tc_djf4hpv8bU2rWgH_CdOtiQ_3_4"></a><a id="Tc_UbPh_Mw0tEuZk49maNrzzg_3_6"></a><a id="Tc_dH3Rzd5eX0aQnMUWgadilQ_4_0"></a><a id="Tc_TxsBBJOLw0aL0eYRr9T7dw_5_0"></a><a id="Tc_IXV_w6O1hU2lk_b-fr3OIg_6_0"></a><a id="Tc_rkO_QB27KUebRMLpA9vvkQ_6_4"></a><a id="Tc_0PTDM1hfik-5MsG1LfZ32g_7_0"></a><a id="Tc_J-jTFl-RG0aG8td7n8e_ww_7_4"></a><a id="Tc_Q1oK0B1Rek2gfafVx-Cp0A_7_6"></a><ix:continuation id="Tb_XW3HyzIPh0-lyqv63151jA_cont13" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont14"><ix:continuation id="Group_HdUK1BKcOEan3hWWczwMmg_cont1" continuedAt="Group_HdUK1BKcOEan3hWWczwMmg_2"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)</span><b style="font-weight:bold;">&#160;</b><span style="font-style:italic;font-weight:bold;">Other operating income, net </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><ix:continuation id="Group_HdUK1BKcOEan3hWWczwMmg_2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2023, the Company has $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherCurrentLiabilitiesMember_dbq9KowpK0Wk0UCteamtOw" decimals="-3" format="ixt:numdotdecimal" name="csiq:GovernmentGrantsNonCurrent" scale="3" id="Narr_uYXglNZJZkukRDy9inWc2g">159,991</ix:nonFraction> of government grants in other non-current liabilities.</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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" id="Tb_ssGvNljLH0ehbGLmbpe6Ig" 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;">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><td style="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;">2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_GrantMember_Bzjzle3KlU6LAG6bGtWUHg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_J_2DwXhhgUKvTUJ-rJAqOA_4_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_GrantMember_PDKeWQTpx0mk4o4EMRm3mQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_GiyS-xiVR0-oyzWK5zuqpw_4_4">59,543</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_GrantMember_SJC_T6PiUkiIJyfjdZ827g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_rHo3DXaSJU6nXIpqbmtmiA_4_6">79,241</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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" scale="3" id="Tc_4xjawk0jHEetG1EilzRHrw_5_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" sign="-" scale="3" id="Tc_7Huwk80IdEi1Bv8V0rRVfg_5_4">4,259</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" sign="-" scale="3" id="Tc_bNEJmy_7iEi7t5HlvOhlQw_5_6">5,342</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) loss 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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystems" scale="3" id="Tc_Zdzkf5gFFkKhqF1paP_ULA_6_2">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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:GainLossOnDisposalOfSolarPowerSystems" sign="-" scale="3" id="Tc_u4m2JDm6D0ux_tUc2snQdQ_6_6">244</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;">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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InsuranceClaimsOrWeatherRelatedProjectDamages" scale="3" id="Tc_3AMbAK1KJU6CaP25d7hRVA_7_2">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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_VjoeKmjF_kSvSMFko7566g_8_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_GSD21-TQS0-0-KqLdhYgVw_8_4">63,802</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc__fdGuKUFHUC4ZezMmi73HA_8_6">84,339</ix:nonFraction>)</p></td></tr></table></ix:nonNumeric></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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:StandardProductWarrantyPolicy" id="Group_nZbG9YdYk06hx1_J6CtQFQ" continuedAt="Group_nZbG9YdYk06hx1_J6CtQFQ_2" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac)&#160;Warranty costs</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 typically sold its standard solar modules with a <ix:nonNumeric contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_5y9-zb3uRk-OPKn7odHU-g" format="ixt-sec:durwordsen" name="csiq:StandardProductWarrantyPeriod" id="Narr_h8LPoeaeikuQsvgKR4sw9A">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_5y9-zb3uRk-OPKn7odHU-g" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" id="Narr_ZdElNv76OECKksQ8yDok3A">10-year</ix:nonNumeric> and <ix:nonNumeric contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_5y9-zb3uRk-OPKn7odHU-g" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" id="Narr_83578rZeUUirKhOga3L41A">25-year</ix:nonNumeric> warranty against declines of more than <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_5y9-zb3uRk-OPKn7odHU-g" decimals="2" format="ixt:numdotdecimal" name="csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" scale="-2" id="Narr_GluXk2-hMUml1fQ5grOMlg">10</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_5y9-zb3uRk-OPKn7odHU-g" decimals="2" format="ixt:numdotdecimal" name="csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" scale="-2" id="Narr_r2tUUsrgxEKoFUL6JS5kYQ">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_GebhO3giQkWjY431K4cWLA" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_3Py8paHeMU61vJ_f7hy4Xg">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_-b0_7Og4p0i3el8lK66VwQ" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_RjEyEbPE8kOLxHNu4AhUSg">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_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_6j3nmY6eg0CD-l2XM_PD3g" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_aoa1TvI9vU-FudBeKdSgXQ">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_CHaGigBP-EmqN1fJXdTItA" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" id="Narr_C_Tdq7qoHUmF5UskJ2gsjw">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_CHaGigBP-EmqN1fJXdTItA" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" id="Narr_k0U_Q8Mip02L7SdIAifhKg">25 years</ix:nonNumeric>, and provided warranty against decline in performance for certain module types for a period of <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_HAaF0DywSEGUfBguAedZKQ" format="ixt-sec:durwordsen" name="csiq:InsurancePolicyTerm" id="Narr_Iqhmlq0PFEGnHPgdaiWKLQ">25 years</ix:nonNumeric>. The Company has also provided warranty against decline in performance for its bifacial module and double glass module products for <ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_1JqaHu5k_kC8qU53QaV6rg" format="ixt-sec:durwordsen" name="csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" id="Narr_N_HoXopv7Ue-sdnjQhTdYQ">30 years</ix:nonNumeric>.</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-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, 2021, 2022 and 2023</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_XW3HyzIPh0-lyqv63151jA_cont14" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont15"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac)&#160;Warranty cost </span><span style="font-style:italic;font-weight:bold;">(Continued)</span></p><ix:continuation id="Group_nZbG9YdYk06hx1_J6CtQFQ_2" continuedAt="Group_nZbG9YdYk06hx1_J6CtQFQ_2_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties related to defects that existed when the product was sold to the customer. 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="csiq:ProductWarrantyAccrualRateForSalesOfSolarModules" scale="-2" id="Narr_OfXWkqG0g0-wN_O832cJzw">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 12pt 0pt;">The Company warrants its battery energy storage products for a specific amount of time against performance or manufacturing defects. The standard warranty is typically for an initial term of <ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_srt_RangeAxis_srt_MinimumMember_zURZGeg500WWXWJQKshRpw" format="ixt-sec:duryear" name="csiq:StandardProductWarrantyTerm" id="Narr_cSuDHeKucU--syn-vUW8Rg">1</ix:nonNumeric> to <ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_srt_RangeAxis_srt_MaximumMember_g9Zu-n293k2RNI6Yi5rAPg" format="ixt-sec:durwordsen" name="csiq:StandardProductWarrantyTerm" id="Narr_asWyDF5jVEuAS2lAijFy-Q">5 years</ix:nonNumeric> from the date of installation, and is accounted for as an assurance-type warranty, which provides a guarantee of quality, limited to specific usage parameters, and does not represent a separate performance obligation. Extended warranties and performance guarantees for up to an additional <ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_xDqoLAbqnESx6e5G-uTs0Q" format="ixt-sec:durwordsen" name="csiq:StandardProductWarrantyExtensionPeriod" id="Narr_acLzG4WlaUK4MyiOf8-dAw">15 years</ix:nonNumeric> that the customers purchase separately are accounted for as separate performance obligations. The Company accrue warranty reserves at the time of recording the revenue.The Company continuously monitors its warranty failures and review its 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 suppliers to back up a portion of its battery energy storage warranties. The Company also records a liability for specific warranty matters when they become known and are reasonably estimable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsByEpcServicesMember_cNIepb4TTkKX9iNLnWqmPw" format="ixt-sec:durwordsen" name="csiq:StandardProductWarrantyPeriod" id="Narr_4A6EFG02B0mnnxOGIODESw">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 12pt 0pt;">The Company has historically entered into agreements with a group of insurance companies to back up a portion of its warranties on solar module products against defects. 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InsurancePremiumUnamortizedAmountNoncurrent" scale="3" id="Narr_XVzHb6cnNEWrU-TzYm2L5A">264</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InsurancePremiumUnamortizedAmountNoncurrent" scale="3" id="Narr_n3oudpqLvEm9rb9Rq0-8-A">168</ix:nonFraction> as of December 31, 2022 and 2023, respectively, and was included as a component of prepaid expenses and other current&#160;assets. 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 solar module 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 12pt 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></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-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, 2021, 2022 and 2023</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_XW3HyzIPh0-lyqv63151jA_cont15" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont16"><ix:continuation id="Group_nZbG9YdYk06hx1_J6CtQFQ_2_cont1" continuedAt="Group_nZbG9YdYk06hx1_J6CtQFQ_3"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac) Warranty costs (Continued)</span></p><ix:continuation id="Group_nZbG9YdYk06hx1_J6CtQFQ_3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 significant provision has been determined to be necessary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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. The insurance proceeds expected to be collected within twelve months of the balance sheet date is included as current receivable, while the remaining balance is included within other non- current assets on the consolidated balance sheets. The non-current insurance receivable amounts were $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InsuranceSettlementsReceivableNoncurrent" scale="3" id="Narr_dxEoHSpJwUi--3sSmDDNeQ">84,474</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InsuranceSettlementsReceivableNoncurrent" scale="3" id="Narr_HrTncrrxRkeXtBGJ3nGv-Q">82,735</ix:nonFraction> as of December 31, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company made downward adjustments to its accrued warranty costs of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:OtherNoncurrentAssetsAdjustment" scale="3" id="Narr_U941AivXAkySIGc8U90dtQ">39,449</ix:nonFraction> for the year ended December 31, 2023, to reflect the net effect of a decrease in average selling price of solar modules and a 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyExpense" scale="3" id="Narr_syVKdKZFq0-IQCCaW2f4aw">45,053</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyExpense" scale="3" id="Narr_iKvGivX4wU2-SSOPx8rNkQ">68,411</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyExpense" scale="3" id="Narr__AodkC9sHEOxXQdniYOu8Q">27,944</ix:nonFraction> are included in cost of revenues for the years ended December 31, 2021, 2022 and 2023, respectively.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="Tb_Yr7W7a88q0ukPBSPyChh-g" 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;">(ad)&#160;Foreign currency translation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ComprehensiveIncomePolicyPolicyTextBlock" id="Tb_-qOR0OGhx0CHt73CsPrqxQ" 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;">(ae)&#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-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, 2021, 2022 and 2023</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_k-JF6p8MN0SceqDBEFJDDw_1_2"></a><a id="Tc___AMtsARwkWiRavQruIaeg_2_2"></a><a id="Tc_kFgYRexGIkKSDyE_R-77eQ_2_4"></a><a id="Tc_Xj8y9NxRH0yTj0Hawv35Hg_3_2"></a><a id="Tc_mmsvs5mHmEuAlyhAbYdImA_3_4"></a><a id="Tc_NPZ2E6SQdkabfml_L9xTfQ_4_0"></a><a id="Tc_d6WsmnkUUUGR2zRlDXN0yQ_4_4"></a><a id="Tc_APiSg1ITckeKOfhGipUsIA_4_5"></a><ix:continuation id="Tb_XW3HyzIPh0-lyqv63151jA_cont16" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont17"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ForeignCurrencyRiskPolicyTextBlock" id="Tb_m2bfrrGAYEOsuoaP6Ye-WQ" 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;">(af)&#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 2021, 2022 and 2023 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 silicon wafers and polysilicon, other raw materials, such as solar 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 and Thai baht. 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ConcentrationRiskCreditRisk" id="Tb_gageotl3dkiZOnv2LdTXZA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ag)&#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 12pt 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 12pt 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 12pt 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, 2022 and 2023, 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" id="Tb_HnoruZqUyEe2Sm9Te4lz0A" 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:12.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:12.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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></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;">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: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;">2023</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-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_LWmYNOXZikut3pvMJqZecg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdvancesOnInventoryPurchases" scale="3" id="Tc_QURatuURBEGib1MIPFVtrg_4_2">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;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, 2023.</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-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, 2021, 2022 and 2023</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_XW3HyzIPh0-lyqv63151jA_cont17" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont18"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:FairValueOfFinancialInstrumentsPolicy" id="Tb_fu14Lcykt06kipHJnR4_Ig" 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;">(ah)&#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 12pt 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 to sell an asset or paid to transfer a liability in an orderly transaction between market participants. The three-tiered fair value hierarchy, which prioritizes which inputs should be used in measuring fair value and requires the use of observable market data when available in determining fair value, is comprised of:</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 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 obligations under employee deferred compensation plan and listed equity securities for all periods presented, use Level 1 fair value inputs.</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 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:DerivativesPolicyTextBlock" id="Tb_PumD5lTH2kCXLP_PUYW26g" 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;">(ai)&#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 12pt 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 12pt 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. The Company classifies the cash flows related to realized gain or loss on settlement of derivatives as operating activities, which are based on the nature of the cash flows the derivative is economically hedging.</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-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, 2021, 2022 and 2023</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_XW3HyzIPh0-lyqv63151jA_cont18" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont19"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:EarningsPerSharePolicyTextBlock" id="Tb_iiFB9jkT7keJRSKJJX87Ng" 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;">(aj)&#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. The dilutive effect of outstanding share-based awards is reflected by application of the treasury stock method and convertible notes by application of the if-converted method, as applicable. 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="Tb_7Y-P-ZLJ_k6CNnTUyaeISA" 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;">(ak)&#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 restricted share units (&#8220;RSUs&#8221;) and share options 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. The Company allocated share-based compensation expenses to cost of revenues, selling and distribution expenses, general and administrative expenses and research and development expenses on its consolidated statements of operations, 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-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2020, the Company&#8217;s subsidiary, CSI Solar, approved the CSI Solar employee incentive plan. Determination of estimated fair value of the Company&#8217;s subsidiary before public listing requires complex and subjective judgments due to its limited financial and operating history, unique business risks and limited public information on companies that are similar to the Company&#8217;s subsidiary. The Company estimated CSI Solar&#8217;s enterprise value for purposes of recording share-based compensation, and the information considered by the Company mainly includes but is not limited to future cash flow forecasts, discount rates, and liquidity factors.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:UnusualOrInfrequentItemPolicyTextBlock" id="Tb_smhIVVrpFESm5t7tYkuZ2w" continuedAt="Tb_smhIVVrpFESm5t7tYkuZ2w_cont1" 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;">(al)&#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 12pt 0pt;">Over the past three years, the COVID-19 pandemic posed significant challenges to many aspects of the Company&#8217;s business, including its operations, customers, suppliers and projects. On May 5, 2023, the World Health Organization announced that COVID-19 was no longer a public health emergency.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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: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-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, 2021, 2022 and 2023</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_XW3HyzIPh0-lyqv63151jA_cont19" continuedAt="Tb_XW3HyzIPh0-lyqv63151jA_cont20"><ix:continuation id="Tb_smhIVVrpFESm5t7tYkuZ2w_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)</b></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="Tb_1-4OMlbUn0af9J77TKyaCQ" continuedAt="Tb_1-4OMlbUn0af9J77TKyaCQ_cont1" 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;">(am)&#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 12pt 0pt;">In March 2020, the FASB issued ASU No. 2020-04, Reference Rate Reform (Topic 848), 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. As of December 31, 2023, the Company no longer had any LIBOR debts. The adoption of this new standard did not have a material impact on the Company&#8217;s consolidated financial statements, as all of the Company&#8217;s previous LIBOR debt agreements contemplated a change to the Secured Overnight Financing Rate (SOFR) as the reference rate upon discontinuance of LIBOR.</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 new standard was effective for the Company beginning January 1, 2023. 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;">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 adopted provisions of this ASU beginning January 1, 2023, with the exception of the amendment on rollforward information, which was adopted in January 1, 2024. Adoption of the 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;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In March 2023, the FASB issued ASU No. 2023 - 01, Leases (Topic 842): Common Control Arrangements, which requires leasehold improvements associated with common control leases to be amortized over the useful life to the common control group. The new standard 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><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;">In November 2023, the FASB issued ASU No. 2023 - 07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which improves reportable segment disclosure requirements, primarily through enhanced disclosures about significant segment expenses. The new standard is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the impact of adopting this new guidance on disclosures in 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;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In December 2023, the FASB issued ASU No. 2023 - 09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires disclosure of specific categories in the income tax rate reconciliation, and additional information for reconciling items that meet a quantitative threshold disaggregated by nature and jurisdiction. The new standard is effective for fiscal years beginning after December 15, 2024. 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: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-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, 2021, 2022 and 2023</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_XW3HyzIPh0-lyqv63151jA_cont20"><ix:continuation id="Tb_1-4OMlbUn0af9J77TKyaCQ_cont1"></ix:continuation></ix:continuation><a id="Tc_b7NhKFBv9U20UfkxkXUscA_1_2"></a><a id="Tc_2zIWU6oV50m9Z6h3cGfBRg_1_4"></a><a id="Tc_0bPDLZaiy0qO_pa2pH2v8g_2_2"></a><a id="Tc__qxv-uFo1EKL9XCtS7amvA_2_4"></a><a id="Tc_h8hao4WZqkyQY0b0K0-00w_3_2"></a><a id="Tc_bKCf1_pzkE6TPF5SJt57wQ_3_4"></a><a id="Tc_VtSTOSdJpk6x37iTMjB8aA_4_0"></a><a id="Tc_sY7WpFOgJ0iqvq_5clH6Rw_5_0"></a><a id="Tc_t58QHGiRPUeUZuFcZGyUcQ_6_0"></a><a id="Tc_3wrw3q2Cp0isNm5bho68OA_1_2"></a><a id="Tc_6xcvHCYKQ0Ougj78PCRwCA_1_4"></a><a id="Tc_fXMqno19xU-XEEMQc_xhOQ_2_2"></a><a id="Tc_pzRGjS5EM0aNTpg1dLWhyA_2_4"></a><a id="Tc_fikrRYRyIEOm06Vv-E4_Gg_3_2"></a><a id="Tc_MvzCUiMFWUKt5aMVfX7b2A_3_4"></a><a id="Tc_bUR8q6JwZkiCV772f5kkzQ_4_0"></a><a id="Tc_dhy2Wvytnk-749Jqo8y-2Q_5_0"></a><a id="Tc_Aw90YQg3fECthggtSm5m4w_6_0"></a><a id="Tc_dGYs4M3cR0OHJ_BWlV5XCw_1_2"></a><a id="Tc_pC6unhW2Q0GmowVGnmZPkQ_1_4"></a><a id="Tc_7Chb5wLp2UujZP0Ma9ANsw_2_2"></a><a id="Tc_mxhffdesJ0eZhN_EA8FDsA_2_4"></a><a id="Tc_GQU6ctepR0CiB8NTjF0Uzw_3_2"></a><a id="Tc_0CT-0opOYEK-z92YO2yckg_3_4"></a><a id="Tc_bbxqQ3QosUuB2nsoAgVCug_4_0"></a><a id="Tc_SE-Eb7kzx0u_jePMhpw-yA_5_0"></a><a id="Tc_YqRG_mUozU6oJFB52Sxxvw_5_2"></a><a id="Tc_d0aKDRgZJUS0f6-zwNMXAw_6_0"></a><a id="Tc_NjqsKxpVSUucFwugTiBtHA_1_2"></a><a id="Tc_NZ24StWKSEKtdMuSoEZUow_1_4"></a><a id="Tc_YsW7mU4ORUuzM2RV1UxIag_2_2"></a><a id="Tc_EPOcGaPUrk2S-F1c1bS_Eg_2_4"></a><a id="Tc_Q70jI8-2Z0mhcSXZzo2N2w_3_2"></a><a id="Tc_Y2PZIKO_DUKbdZOoZ7KKqg_3_4"></a><a id="Tc_r2k_PG0nv0yM1L8d5v_tog_4_0"></a><a id="Tc_oioV1GEY0UO7dgVsZI-ZTA_5_0"></a><a id="Tc_0dpGQctwwkuMyEJeSUTL1g_6_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:AllowanceForCreditLossesTextBlock" id="Tb_tB3vDbQr4E6saTurJZ7KpA" continuedAt="Tb_tB3vDbQr4E6saTurJZ7KpA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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, warranty insurance receivable and other receivable. Warranty insurance receivable was included as a component of other non - current assets. Other receivable was 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_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-JIwAFK1sE-l7QWbJVZm0Q" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" id="Tb_eK3DNimN40GSyEsoC3VGow" 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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></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;">2022</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;">2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_yEE94TbUCU2nZBmasmgreg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_vAZSUq-1iE-54LnqMWXmvw_4_2">1,020,880</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_1gZwKsyZ3EaG0jinRQY_DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_CF4EWQXNJUSTHJr55YU0Dw_4_4">961,745</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_yEE94TbUCU2nZBmasmgreg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_5BiGNCiJk0iaiN7P8m57_A_5_2">49,930</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_1gZwKsyZ3EaG0jinRQY_DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_FKBRPPjZxE2wFX5TM029yQ_5_4">56,802</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_yEE94TbUCU2nZBmasmgreg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc__miBuWXXH061Gwm4amMP0Q_6_2">970,950</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_1gZwKsyZ3EaG0jinRQY_DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_ja-h3yw9i0KZsTxNzAPSrw_6_4">904,943</ix:nonFraction></p></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><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_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_W-Yhr5JE9k2y2Wuqvia04A" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" id="Tb_0C2H9aPYUEiFMoH9x8PJOw" 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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></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;">2022</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;">2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_jd0QyzdA50CZFkCUzpH9yw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_CVJH_7jK00KA7Jjt8zVsrw_4_2">320,211</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BW2AAeR4KU6QskdgDlsvWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_V8rGmjdoLkGy08CNbi4TEg_4_4">328,460</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_jd0QyzdA50CZFkCUzpH9yw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_B8lJdqLVbkOn49hpPVaLSg_5_2">1,375</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BW2AAeR4KU6QskdgDlsvWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_kr9JTC79hke2RlhVWIZGeA_5_4">2,424</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_jd0QyzdA50CZFkCUzpH9yw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_jBhiYxsga0qlyS6ohiWAeg_6_2">318,836</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BW2AAeR4KU6QskdgDlsvWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_ZBK3KSGcpEGu2D5NJ5Gaew_6_4">326,036</ix:nonFraction></p></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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Warranty insurance receivable, net consisted of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_c0YjJjRLT0Ox2I3zJJTv7g" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" id="Tb_pti7VoJr7EytGQvEIMrUkg" 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;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.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: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: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.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:11.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></tr><tr><td style="vertical-align:bottom;width:70.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></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;text-align:center;margin: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%;margin:0pt;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,</b></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;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:11.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;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></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: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%;border-bottom:1px solid #000000;margin:0pt;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.58%;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:11.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></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="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.58%;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:11.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></tr><tr><td style="vertical-align:bottom;width:70.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Warranty insurance receivable, gross</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_pOre9Y4VL0WcNPsPmUbEbg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_vVGmQyXrx0CKRdQxj4LD2g_4_2">84,474</ix:nonFraction></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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_JrebpY3Ng0GBDMmCn3hgvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_FpnMLkeHV0qoH2DbjwPVaw_4_4">84,035</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:70.85%;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.58%;margin:0pt;padding:0pt;"><p style="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%;border-bottom:1px solid #000000;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.58%;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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_JrebpY3Ng0GBDMmCn3hgvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_aLSVg_X1t0SOTL32befP4w_5_4">1,300</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:70.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Warranty insurance receivable, net</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_pOre9Y4VL0WcNPsPmUbEbg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_03figRGw_UG0tIhEc1N2tg_6_2">84,474</ix:nonFraction></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="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;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_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_JrebpY3Ng0GBDMmCn3hgvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_Jum2e2DAF0qquYRztwl6JA_6_4">82,735</ix:nonFraction></p></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><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_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_kW6atqiP10yTYE7-3NFDMA" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" id="Tb_oLBqqkauo0uaRvaORuzq0A" 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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></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;">2022</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;">2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_48LFhpGB3k6ebscKyuVMEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_XVDQCZHwvkScvyMWI-zc5w_4_2">129,195</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_WFVK4PjiUkehmFo9yBl1zw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_fhDCnncp_UaPvpd4NSAdXg_4_4">145,376</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_48LFhpGB3k6ebscKyuVMEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_R-jytyZbZU-k0wt2khtk_Q_5_2">9,999</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_WFVK4PjiUkehmFo9yBl1zw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_1iglowcI4U2z2A6-wEdqFw_5_4">11,878</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_48LFhpGB3k6ebscKyuVMEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_sPvUPFMS0EiYJ9JNczkXXA_6_2">119,196</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_WFVK4PjiUkehmFo9yBl1zw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_aD8RSHasAUOtGy6ZqPGOcQ_6_4">133,498</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:9pt;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-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, 2021, 2022 and 2023</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_Y4yREHcOFk-qMyqPdtnUvw_1_4"></a><a id="Tc_bAKrA1yswESoDlemF5KmJg_2_4"></a><a id="Tc_corHZJXdRU6tOxDPdnNPFw_3_2"></a><a id="Tc_BtPqhFpR1U6pqmvwk_bB-g_3_4"></a><a id="Tc_8eqSVuR9m0-FDsyU1b9FPw_4_2"></a><a id="Tc_6znza-K6Gk60zKeHlDmbzg_4_4"></a><a id="Tc_5DaDn8LGLUmEVdupAHNKsg_5_2"></a><a id="Tc_FMbu9mcRyUq8mvQKAW4yNQ_5_4"></a><a id="Tc_12RlmeC3RUOvjSXdYzvpkg_6_0"></a><a id="Tc_nzOp-gU8x0Cd2trJTjU8PQ_7_0"></a><a id="Tc_bsRp49-tXkCT7df5OdUitA_8_0"></a><a id="Tc_V8hIuhdoWEuzY8_o6WMycw_9_0"></a><a id="Tc_sIFjBVmCgUqZbhbVDoby5Q_10_0"></a><a id="Tc_p7kb62u6rUyqVl_BvXYz1Q_11_0"></a><a id="Tc_YYDe-sIbxEC4sFky780OUw_12_0"></a><a id="Tc_eDvY0A51F0Shv8zyxwn33w_13_0"></a><a id="Tc_nJdgNCVgHEy6FBSwt0uAEw_14_0"></a><a id="Tc_tiOo_uoKAEGwHQG4PgBwWQ_15_0"></a><a id="Tc_lYociQifTkGKuuxr4M4VZg_16_0"></a><a id="Tc_tbtRYzelakuVTKgeBrt-xw_17_0"></a><a id="Tc_L5KcI6nCOU-vewr_FjIeMQ_18_0"></a><ix:continuation id="Tb_tB3vDbQr4E6saTurJZ7KpA_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">3.&#160;ALLOWANCE FOR CREDIT LOSSES </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;">The following table presents the change in the allowances for credit losses related to the Company&#8217;s accounts receivable trade, advances to suppliers, warranty insurance receivable and other receivable:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" id="Tb_BISNY8J2QEez05ULKtKcDA" 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:67.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:13.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.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:16.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></tr><tr><td style="vertical-align:bottom;width:67.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:1.48%;margin:0pt;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: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 style="vertical-align:bottom;white-space:nowrap;width:16.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;">Advances to </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.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: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: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;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;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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;">Suppliers, Warranty </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.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: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: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: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 style="vertical-align:bottom;white-space:nowrap;width:16.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;">Insurance Receivable and</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.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: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: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: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:16.29%;border-bottom:1px solid #000000;margin:0pt;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 Receivable</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.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: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;</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: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;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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, 2020</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember__ov5GIt1OkCvBF3uklbrvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_TunV-tPr2ESgfTpWdzUVHQ_6_2">40,293</ix:nonFraction></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:middle;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_JdFkQ9ASwEyf2JZmmBuj4w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_rFBjc0gdSkSh-xGrxDcEXA_6_4">28,502</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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: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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TGFcEY97TE-bl6CLoJeN5Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_D8gK4SPYz0uVuWjGUBZvgQ_7_2">7,171</ix:nonFraction></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:middle;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_lAlFL7qZVk--eyObKSKxMw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_WpJ_kVb_5kGdyO_rAiDcNg_7_4">444</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;background:#cceeff;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: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: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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TGFcEY97TE-bl6CLoJeN5Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_n3tYuhuGZEyVW8QCG8Ktfw_8_2">197</ix:nonFraction>)</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:middle;width:16.29%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_lAlFL7qZVk--eyObKSKxMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_Bxneg4Tc90qNMUhLKED8xw_8_4">53</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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: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:middle;width:13.41%;border-bottom: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TGFcEY97TE-bl6CLoJeN5Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_IUtMVmjhmUeQOkpdwDh2cA_9_2">141</ix:nonFraction>)</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:middle;width:16.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_lAlFL7qZVk--eyObKSKxMw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_GDcR6x78T0qqOBQV5Hq7TA_9_4">186</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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, 2021</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_Uy050kVvI0akX6ztbcxXZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_2KcyGq89wU2TOM0q-aLI8g_10_2">47,126</ix:nonFraction></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:middle;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_QGV9ahgsc0KlyxnGyij7zA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_YLAKC0r-vUqjVPBHLnqxxw_10_4">29,079</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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: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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_k8qosnusTUKRgY6QCXEPDw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_7oIUkk-hsk6nkLWPxUKh8Q_11_2">4,349</ix:nonFraction></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:middle;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_YLrUcr9OskmJG0yrxpz0oQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_2g80_UQPhkeoegagLsCtnQ_11_4">1,424</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;background:#cceeff;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: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: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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_k8qosnusTUKRgY6QCXEPDw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_xFPc9yj8Bkq8oxRXpzYMmQ_12_2">109</ix:nonFraction>)</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:middle;width:16.29%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_YLrUcr9OskmJG0yrxpz0oQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_6wSH8eWlXEysQhfRgLSdIw_12_4">18,295</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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: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:middle;width:13.41%;border-bottom: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_k8qosnusTUKRgY6QCXEPDw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_Vp_GlwWL5EC6T3HVjqxAQw_13_2">1,436</ix:nonFraction>)</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:middle;width:16.29%;border-bottom: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_YLrUcr9OskmJG0yrxpz0oQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_4VOZ2QFk-kinlpYn0AIfGQ_13_4">834</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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, 2022</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_yEE94TbUCU2nZBmasmgreg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_rZV3TBd5XkWJIMrwejGxdw_14_2">49,930</ix:nonFraction></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:16.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_DsCOJW4RtkiFbD1im4-Khg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_my9kjnWuyEq0tws2I9DNxA_14_4">11,374</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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: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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-JIwAFK1sE-l7QWbJVZm0Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_9eW8HGajb0mgxQ1MtHVYLw_15_2">7,381</ix:nonFraction></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:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_Xfdf3ZJMwU6lRJ2EbRJaDA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_UxLoRZwU3kSdUbPkSQHOiw_15_4">4,633</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;background:#cceeff;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: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: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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-JIwAFK1sE-l7QWbJVZm0Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_l73-avWa0k-Xf5g3Xmhvjw_16_2">2,073</ix:nonFraction>)</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:16.29%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_Xfdf3ZJMwU6lRJ2EbRJaDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowancesAndReservesDeductions" scale="3" id="Tc_d6FV8np1TESs4XZGeioltw_16_4">242</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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: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:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-JIwAFK1sE-l7QWbJVZm0Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_RbPsjpv8EEqrlgYlKrrvHw_17_2">1,564</ix:nonFraction></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:16.29%;border-bottom: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_Xfdf3ZJMwU6lRJ2EbRJaDA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc__1hPQ0al7ESqIzBQNNlFhg_17_4">163</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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, 2023</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:13.41%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_1gZwKsyZ3EaG0jinRQY_DA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_avYucC1jOk-L6q0Ocrquiw_18_2">56,802</ix:nonFraction></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:16.29%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_1kP2c3aT2Eio_d0_AjFRxg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_J2u6ujQrPk2M_06f5iY3zQ_18_4">15,602</ix:nonFraction></p></td></tr></table><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></ix:nonNumeric></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_iC6FaOTvEEek8eZ23Yj8hw_1_2"></a><a id="Tc_iKdH9rx_QUmvp2ku1aKfUw_1_4"></a><a id="Tc_KTFZS-RAXkKDJ9x0YSiEkw_2_2"></a><a id="Tc_CJht3SSz7kiv9-NvWOlCWA_2_4"></a><a id="Tc_UMuyhtD10UuVNJ39KiWWNQ_3_2"></a><a id="Tc_z8f-NE0sak-RAuczZZkKKQ_3_4"></a><a id="Tc_sXqoIGowzE68TP7S05fxeQ_4_0"></a><a id="Tc_YV6cEgn7xU-vLKI8ZD881Q_5_0"></a><a id="Tc_W4DJULBhKUyNSvTb4cx6mw_6_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:InventoryDisclosureTextBlock" id="Tb_IJ3w1w2klUSc_TFVxJ5jGg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="Tb_ILwAJOvwXEeDL8nG5fsZLg" 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.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.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.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;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.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.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.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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.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><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.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.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.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" id="Tc_AGvxOU01lEme9_0fD1UMSQ_4_2">310,394</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryRawMaterialsNetOfReserves" scale="3" id="Tc_SYdSiqltTUKVuFwYq9z-jg_4_4">222,826</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="3" id="Tc_2BOblDFQQUeCAyYTlm_YUA_5_2">265,109</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWorkInProcessNetOfReserves" scale="3" id="Tc_vlLMPAcT4E-v1z4ePac6FA_5_4">139,116</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" id="Tc_HVa7A9b5KkCEZJBlRPhU_w_6_2">948,592</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryFinishedGoodsNetOfReserves" scale="3" id="Tc_7fwFYqVFD0u0PZUAZ7G3kg_6_4">817,699</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_lGhPEmp_q0qCENqG_U5NrQ_7_2">1,524,095</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryNet" scale="3" id="Tc_pJ_0q9CJPECeOhE9CXbLUg_7_4">1,179,641</ix:nonFraction></p></td></tr></table></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><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:FinishedGoodsModules" scale="3" id="Narr_CqGCc4fxIkCBKJe1jSL35g">161,138</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:FinishedGoodsModules" scale="3" id="Narr_92ps6EcoPUeiaLuz6tlhDg">112,440</ix:nonFraction> as of December 31, 2022 and 2023, 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits" scale="-2" id="Narr_IY9uH-88OE2OkcAoH-jlqw">5</ix:nonFraction>% safe harbor method outlined in the U.S. Internal Revenue Service (&#8220;IRS&#8221;) guidance notice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 2021, 2022 and 2023, inventory was written down by $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Narr_buduf7slD0SkAwlAvVfGhQ">14,070</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Narr_rC3FFnBXnkS-n7M_eH51pQ">7,475</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InventoryWriteDown" scale="3" id="Narr_1sqmtyXSn0KywS-mwkaMCw">113,079</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></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, 2021, 2022 and 2023</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_xvXl7WSgt0WlwwH3015uSA_1_2"></a><a id="Tc_jgXn2QeGKESg5JPTcue-FA_1_4"></a><a id="Tc_M7pTwQAww024AjDYGsN5Tw_2_2"></a><a id="Tc_mNd0rPu49Eei9qDutP1VdA_2_4"></a><a id="Tc_9LN9khuLkkaa4nLTWpIBtQ_3_2"></a><a id="Tc_dhCR5_0QZESIiTd9CUyy8w_3_4"></a><a id="Tc_i-SBIYSyMEqAbQrGJSua0g_4_0"></a><a id="Tc_1dWcrVZgdUKBd-KgFfjugw_5_0"></a><a id="Tc_duviPgzxt0-susaikE695A_7_0"></a><a id="Tc_MQ8sJbsRIUmsW6GwS-DMOw_8_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ProjectAssetsDisclosureTextBlock" id="Tb_nPvlvMi_pEW9w8HVeUogHA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ScheduleOfProjectAssetsTableTextBlock" id="Tb_v_wtbEUzqk6XtiEw8DzECw" 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.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.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:11.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:2.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:11.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></tr><tr><td style="vertical-align:bottom;width:72.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.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;text-decoration-line:underline;text-decoration-style:solid;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;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.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.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;text-decoration-line:underline;text-decoration-style:solid;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.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: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></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts" scale="3" id="Tc_jok9yvP97kq1FkdVkVUzDA_4_2">444,858</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts" scale="3" id="Tc_qiCRlbhwVkeEswixGEqauw_4_4">651,920</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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:11.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" scale="3" id="Tc_wQsbv2PgYEGk0mMZ0Fcauw_5_2">379,635</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" scale="3" id="Tc_miuuK-a40k2uEhV1NhzDwA_5_4">205,666</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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:11.36%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLand" scale="3" id="Tc_kUHJxqGT-k2WCJZprs6PLQ_6_2">824,493</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.36%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLand" scale="3" id="Tc_4vDFSjRDPUGpg-Kz6Nx1qg_6_4">857,586</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_GApON8EUXUC_yaFfdnJJ1g_7_2">385,964</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandCurrentPortion" scale="3" id="Tc_yN-XFuAOmkeEksvBtQOdIg_7_4">280,793</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_9-7SExDZ4UCx7p1hG8eV5Q_8_2">438,529</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsPlantsAndLandNonCurrentPortion" scale="3" id="Tc_uVFFzFpZCEKLniXLo03mEQ_8_4">576,793</ix:nonFraction></p></td></tr></table></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><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_k5n1RLlK5EuWgGQn7r5KJg">17,152</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_o5n6v4dcPEa-KvM4lyYo5Q">1,674</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_frloTHApU0SCIu6ztAaqjg">16,239</ix:nonFraction> for the years ended December 31, 2021, 2022 and 2023, respectively. Interest capitalized during development and construction of project assets was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Narr_hbHgRDP0QkmGyoz157cNAQ">17,316</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Narr_92i3WZ0FHEq2ps77bnTFmg">26,439</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Narr_pK3T5b8r-0O3A4JibJ1wXA">27,676</ix:nonFraction> for the years ended December 31, 2021, 2022 and 2023, 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><a id="Tc_aHMmcMgvr0WEc4vu0VDROQ_1_2"></a><a id="Tc_GRM6lw4ffkKjnW0BCe5IqA_1_4"></a><a id="Tc_eJ5TVbWpg0SeJQEu_OHs-w_2_2"></a><a id="Tc_Euwo2xBOekm24sdBVgn86Q_2_4"></a><a id="Tc_de7BgZpNMUmYpCt9QSeyGg_3_2"></a><a id="Tc__Gmou9oDaEKRdvjg6Y4Czw_3_4"></a><a id="Tc_qT8BeW-BJUObgLUaGlJdMA_4_0"></a><a id="Tc_sR5SfCUDdESiwz5MgKCiDg_5_0"></a><a id="Tc_i0vgNE_aYEqmxS1BJbPIow_6_0"></a><a id="Tc_E7vC6YUaHEOiu-WPrf4vYQ_7_0"></a><a id="Tc_uBSsrEizV0WHnrqLK5VmYg_8_0"></a><a id="Tc_g0G7utDm50-hv5ldAIA6kQ_9_0"></a><a id="Tc_VIoXkLVO5Uaadrxt1vEaPw_11_0"></a><a id="Tc_tTskOkb62UW2eDMaseeidQ_12_0"></a><a id="Tc_hmnndGoIakmouXSxPWQn-w_13_0"></a><a id="Tc_9V1FA-rHfEGZynhxbOEWtQ_14_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="Tb_bO3nPLFdUkS-NNoAwW4tKQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" id="Tb_WiHPIDUuAUesQKj-w_f-Zw" 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;">2022</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;">2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_Y1awMXKJeUmT1wILh8pDnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_VtvNBH--hUC97GKhwxxWqw_4_2">764,577</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_wtfWg7k9uUmNEVCyI3h5kA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_nuItfNrbTEqGcns_64LDVA_4_4">978,924</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_sXsDq7DIH0S5adk3_76X_Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_N_R4y3-yZE6ZG1IuZdCWEQ_5_2">30,896</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_WonKcJH7yEmYXYTj_BUdbQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_YDsRvFirqUm5U-_m5aNHQA_5_4">44,275</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_tiYVyUz1T0Ci1pJ6OnSkKw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_qi_dnYF-5Ue5nsyR36SqEA_6_2">1,470,957</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_jz36dlyawUSrbF1tPKL0nA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_i0wafzh4CEih7HT0hAwIqQ_6_4">2,213,281</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_gjN-gOlJV0mNQhr44tlUDA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_iWlzSgP8TkeKWfVVkdrKag_7_2">58,928</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_b7KOkC-sckKDHZFW9sLHug" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_NYOwFECk8EGDd6bXf8QvEw_7_4">178,455</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_83EDoEjfMEWoemV3OxIMgA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_MLSd6t0wT0yipkJjfRc_VQ_8_2">11,527</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_fV2OfmeUM0CyXcr4zR9vaA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_fV0gn0MWBU-7sShXbDlIQw_8_4">14,768</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_ZbxkqhH5eUmv5-pHCQc7YQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_1ToVjRZwak29iwfBaAYgPw_9_2">39,285</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember__0Lfb22S3UKjdmcjEn-WXg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_EW0h6JPbtUm1p7xL6xiPCA_9_4">45,397</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_F8ekioXLFUi306DIZZU07Q_10_2">2,376,170</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentGross" scale="3" id="Tc_6SCQUqLdgECmn2R0RkHjMg_10_4">3,475,100</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" id="Tc_kDLjmxnZ1kGxg2dR8LaE_g_11_2">908,888</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" scale="3" id="Tc_Sp8CC3AUhE6eTQZonVQ5Aw_11_4">1,061,281</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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet" scale="3" id="Tc_NMQ39bSthE-ufRsBaJ5krw_12_2">1,467,282</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet" scale="3" id="Tc_0unc2Dvb4kqxBiVnLr5eVg_12_4">2,413,819</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 progress</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConstructionInProgressGross" scale="3" id="Tc_RcMqS2IogUSJXcRcKw0Swg_13_2">359,361</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConstructionInProgressGross" scale="3" id="Tc_VVcGQDJVb0Gs96UU5EsL4w_13_4">674,623</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_U62LM65WhEGJt5csHeJZ2g_14_2">1,826,643</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_njJNfm_aZk6AkjVQbPbJ4Q_14_4">3,088,442</ix:nonFraction></p></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><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_i7Va35_hQE6ShnLVUNHkFw">266,956</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_PcBHwqnEk0Obv1IQIEPUtA">225,351</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_qmAZK--kR0OvUMXftv5O9w">287,130</ix:nonFraction> for the years ended December 31, 2021, 2022 and 2023, respectively. Construction in progress 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></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, 2021, 2022 and 2023</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_2PbRbOwCBkeEQFSANC6kXA_1_2"></a><a id="Tc_jc6MMw--uUWkTQiPwFsZGA_1_4"></a><a id="Tc_r-El7Yxh9kO3bSwstAPimQ_2_2"></a><a id="Tc_i_nu4qBWDUWyF6B4zTTXuw_2_4"></a><a id="Tc_rWrN2GJ8y0eZqounx00Oxw_3_2"></a><a id="Tc_zF4Wb82cxUyxqew1Ye5KXQ_3_4"></a><a id="Tc_xY2YlU7pZUCa8-M6Ma0Xow_4_0"></a><a id="Tc_kTqSAz-ew0KX9xM4xIRXoA_5_0"></a><a id="Tc_fgO8DXovlUeQJnzmsEPJ7Q_7_0"></a><a id="Tc_qCh7_DYuLU-PLt_PIPNcKg_8_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:SolarPowerSystemsTextBlock" id="Tb_fIrIC-z_WUWxn6aF-FqPxw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock" id="Tb_a72GUuYW2kSPCLUKCfUqww" 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.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: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.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 style="vertical-align:bottom;width:72.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: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.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></tr><tr><td style="vertical-align:bottom;width:72.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: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;">2022</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.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.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: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.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></tr><tr><td style="vertical-align:bottom;width:72.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_4PWKnuoV0kGiCMlVoEY7aA" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsGross" scale="3" id="Tc_olGTi42NpEyKM1dxryvjQg_4_2">172,707</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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_yb_kL1iU1k-wrSNtM8seww" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsGross" scale="3" id="Tc_bHTVbmnkS0KN2hYv5FLHtQ_4_4">532,833</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_zQLdhKIFakixbge6xtWm9Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsGross" scale="3" id="Tc_2PSCWCnEr0CKeLg8F7oq5g_5_2">209,200</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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_swoTaHoX6EGEzalUS79WRw" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsGross" scale="3" id="Tc_73ajeF08GEyTPDHMuyX8mg_5_4">450,339</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsGross" scale="3" id="Tc_TwN4CRO0o0ON6HbxFhqwgA_6_2">381,907</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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsGross" scale="3" id="Tc_Vir94L3JIkeufVMaYLV5Cw_6_4">983,172</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" scale="3" id="Tc_R99dIzShakCjIheE7bLRQA_7_2">17,091</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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" scale="3" id="Tc_7N2dcxkwBUS_yddq_53pUw_7_4">31,659</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:72.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_xGIACbxtmUujNwhj4UEWvA_8_2">364,816</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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystems" scale="3" id="Tc_K6uvrpXpLkuMkZKFUdKHpg_8_4">951,513</ix:nonFraction></p></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><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt-sec:numwordsen" name="csiq:SolarPowerSystemsReclassifiedToProjectAssets" scale="3" id="Narr_dhkYgcU4P0aEkKMPIRVwOA">nil</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsReclassifiedToProjectAssets" scale="3" id="Narr_LJn-BT1ZbkWEfLm7lPIH6w">263,710</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:SolarPowerSystemsReclassifiedToProjectAssets" scale="3" id="Narr_tkroMFlUhEu2kCmN0D_HsA">119,067</ix:nonFraction> to solar power systems during the years ended December 31, 2021, 2022 and 2023, respectively. The Company intends to operate the project assets for the purpose of generating income from the sale 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_jVleGxNTaEaCqHVD0u9OeA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_MO-XmKDjWU2MU6AIyQhRqw">11,212</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_MbBYQbz7AUi28RqcQGV-xA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_c8slNHuLA0K3N-NUI0VoZA">4,074</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_-eG67TvEvk-tG_zgh9qhuA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Depreciation" scale="3" id="Narr_SlqFJGbq50ucnb5r0-3UCw">14,266</ix:nonFraction> for the years ended December 31, 2021, 2022 and 2023, respectively. Interest capitalized during development and construction of solar power systems, net was <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt-sec:numwordsen" name="csiq:InterestCostsCapitalizedSolarPowerSystemNet" scale="3" id="Narr_sSB1cWsPfkK9Orao84NViA">nil</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedSolarPowerSystemNet" scale="3" id="Narr_JicP2laFEUiyfV0cO3kaqA">18,666</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedSolarPowerSystemNet" scale="3" id="Narr_59eq_0RkBUSKkYOXq8RkrQ">33,097</ix:nonFraction> for the years ended December 31, 2021, 2022 and 2023, 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><a id="_592fb483_64e7_411e_be98_b5d33c1707ce"></a><a id="Tc_gmzvplMV1ky8go_-Q5uBxQ_1_2"></a><a id="Tc_8yUAQ1RQ6E2Bbf7cFzOTdg_2_2"></a><a id="Tc_e9wUNbkF_E2Zr5V1q8E5hQ_2_4"></a><a id="Tc_2oyr-Q_uSEa8CHsgYe8oVw_3_0"></a><a id="Tc_Vp4jBu5sA0mY-g4-lBmeeQ_3_2"></a><a id="Tc_WXX6HKIuO0yDrm1hgTcyjg_3_4"></a><a id="Tc_QYrG88YDlU-jHDhYpRbwuQ_3_6"></a><a id="Tc_mjwgtvE2i02lR5MBWlJ3_A_4_2"></a><a id="Tc_khKI0XjFjkCtdp-1EVKDgQ_4_4"></a><a id="Tc_1c9L1v87qk2E_v6I9_8vQA_4_6"></a><a id="Tc_uG4BgiIMYkCaoiJN08CeCQ_5_0"></a><a id="Tc_aINsigronkKjntFSy1dAjw_6_0"></a><a id="Tc_KSFUBAvfZk2rsTjXssvnmQ_7_0"></a><a id="Tc_G_Ksxf5Toky1z96gfaYNCw_8_0"></a><a id="_a093cbba_5a7d_4947_922d_6305e621fe65"></a><a id="Tc_6JkQQvpAA0aB0NyaULF-rQ_1_2"></a><a id="Tc_sq0e31MIxUKxPDiRwjR4Hg_2_2"></a><a id="Tc_0aaELCx9bEOscu51wXYAhA_2_4"></a><a id="Tc_6NDk7xzFnUaOzqjlyRtXIw_3_0"></a><a id="Tc_Pksis6K6vk2Wn9anlJfPtA_3_2"></a><a id="Tc_X6y2eL93V0qs-rFqcYX8sQ_3_4"></a><a id="Tc_18aPXc9AS0K0NOTp4Xb-qg_3_6"></a><a id="Tc_D49Z_aodQEepdP67C_GqOA_4_2"></a><a id="Tc_C5MjfshRr0O10gAvEoGwiw_4_4"></a><a id="Tc_dtujKmMVB02zp2jjeILb4A_4_6"></a><a id="Tc_0C698xpI5Eanjcx_pEdbUA_5_0"></a><a id="Tc_EalZYaRdt0yvZDA52SaaTA_6_0"></a><a id="Tc_eLOwHZowGEyKHuuweLbefQ_7_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:IntangibleAssetsDisclosureTextBlock" id="Tb_EfREj8TIME6WSN_1PXyM8w" continuedAt="Tb_EfREj8TIME6WSN_1PXyM8w_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" id="Tb_-uWMSa1c4Ua3ampN-MZ9zw" 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, 2023</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;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_zkCj-y1m90mgrEOzcYswew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_jozki3LGsE6INyJr9sHx3A_5_2">37,898</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_zkCj-y1m90mgrEOzcYswew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_J2nmfnJGLkC7QwLY2-p2IA_5_4">23,820</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_zkCj-y1m90mgrEOzcYswew" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_wLpMGEG2Vk-6a8fHf2YyXw_5_6">14,078</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;">Customer-related intangible 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;">&#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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_LlqIDPLdakywe9xwvaVQog" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_2Z-SZ3Ny30WYsLQx3CapIw_6_2">3,647</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_LlqIDPLdakywe9xwvaVQog" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_ZdsZeOwEMU6UKzESZ1dLog_6_4">478</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_LlqIDPLdakywe9xwvaVQog" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_p49tzdhMaE6k2oWzYQfYiA_6_6">3,169</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;">Trademark</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksMember__NjWXWYwfU-DynV03dcxiA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_i4n0tx_20EyG030ZOMSX-w_7_2">2,533</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksMember__NjWXWYwfU-DynV03dcxiA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_FoQqabNBSE65nA_Adn6xSw_7_4">53</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksMember__NjWXWYwfU-DynV03dcxiA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_rO2G2mjsxkur73jPnlYiRg_7_6">2,480</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;">Total intangible assets, 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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_Qt26GBe2zEmcHWnRChg3bA_8_2">44,078</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_prQOMIRJhkWTK8MDOVXDxw_8_4">24,351</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_Mo19uyuE-kWHicFvz3jGdA_8_6">19,727</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, 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;">&#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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_JZHSTzHb_UminUM8eVdarA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_4rLh_akyMUC6C1Qq5oM34g_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_JZHSTzHb_UminUM8eVdarA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_DfhJbXafvkO2EBGV7Pvb0g_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_JZHSTzHb_UminUM8eVdarA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_EB4oTj--30uhrIdsO1Uxwg_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_5vS7u78k_0WdE2U97lKp9w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_a0gP667CkUSp3Ky8ioRtrQ_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_5vS7u78k_0WdE2U97lKp9w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_ieFiqgzPAkGkMLQ34HqSUA_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_5vS7u78k_0WdE2U97lKp9w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_HZrJdKfdV0SuE-A9qlIKpw_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_UQ1zw-50m0K5DCNHUASsJA_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_RW840ezp7UuIcbCXk7cfKA_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_MgL0rFT6tUar7NTHd-ihUw_7_6">17,530</ix:nonFraction></p></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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Amortization expense for the years ended December 31, 2021, 2022 and 2023 were $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Narr_lTh1PDeQJUqhDpBHbWrhkA">4,601</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Narr_DmAb5xWDSEOzt5NscSIa4A">3,586</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="Narr_gBhO3ERhvkiIh6jhktDObQ">3,793</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">Amortization expenses of the above intangible assets are expected to be approximately $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="3" id="Narr_XhKyklhNLEmRA63C98hTTg">3,532</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="3" id="Narr_ysQ7v16koE2fcrg-oFRf0Q">3,066</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="3" id="Narr_3utP075P20OaI-mWvRZU7w">2,821</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="3" id="Narr_H1IKnaiE3UKc477QLmh8qw">2,669</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" scale="3" id="Narr___QfjWxhZkyRcJMhY1isbw">2,597</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" scale="3" id="Narr_7D6JgtfExkWHxDPYMjJiPg">5,042</ix:nonFraction> for the years ending December&#160;31, 2024, 2025, 2026, 2027, 2028 and thereafter, 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-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, 2021, 2022 and 2023</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_EfREj8TIME6WSN_1PXyM8w_cont1"></ix:continuation><a id="_e33cfce8_1fa1_4df6_8a48_19d8a37f0af8"></a><a id="Tc_2apQHSFaAUCr7zRgWDEfuA_1_2"></a><a id="Tc_SvOcdGH32kyBoSWsk66R4w_2_2"></a><a id="Tc_aiKeFSFhm0KPfQn8mt4LCA_2_6"></a><a id="Tc_AiXf6BDxFkqOizud9OCA5w_3_2"></a><a id="Tc_FDs15KUsukWZLDckCu8XoQ_3_4"></a><a id="Tc_mfdELFfHSEuR8-lC04VThQ_3_6"></a><a id="Tc_aVTmHGRcR0GlfZIoBg6tjg_3_8"></a><a id="Tc_Jf3BvaEqiEmBTRYWg0Uvmw_4_4"></a><a id="Tc_CzzDc8K3lU63jAufulg0TA_4_8"></a><a id="Tc_vuEfDQHyo0ub60_eNfjuuQ_5_0"></a><a id="Tc_7dQirfVW4UGLfAa_0D26Lg_5_2"></a><a id="Tc_jMFSvrPiqEak-ZgAbS6y2Q_5_6"></a><a id="Tc_kavoPwvGvkqoZzjZ3_flQA_6_0"></a><a id="Tc_-xsGVjTrRE-T5CyQ31s7og_6_2"></a><a id="Tc_YRRy-zgwFkSDMHPIeY1Iiw_6_6"></a><a id="Tc_5sqo2Ceq60mv1VEUQLCCxQ_6_8"></a><a id="Tc_PbXiXETjKUmdQuV4CTRvOw_7_0"></a><a id="Tc_9HrUiE0v6Ui7WHvlojCmSQ_7_2"></a><a id="Tc_mkn-1fQ0ekmIuhbqumIPVw_7_6"></a><a id="Tc_YhRwsPvmGEG0Sy9fIQpKiA_7_8"></a><a id="Tc_6NDNhc-yN06GOqZoodPUJQ_8_0"></a><a id="Tc_lneM4Rm0cEyfMePIWvNr6w_8_2"></a><a id="Tc_UeoSsLnI006SooBmY-30Og_8_6"></a><a id="Tc_gwwbd14NQ0uRNUpZaJoa1A_9_2"></a><a id="Tc_AJDHcUpLKUyVRtqGlgv2wQ_9_6"></a><a id="_2f48f4ff_77d0_47b6_93cb_3abf4d6aa3d0"></a><a id="Tc_t7uMxtRCj0aapydECPp2VQ_1_2"></a><a id="Tc_AqlDsI2Xj0GHikBZgFcDkg_2_2"></a><a id="Tc_mZ_q-lVNIESxEBGdGZHzag_2_6"></a><a id="Tc_pAGO2xTw2karsLP9Tneg_A_3_2"></a><a id="Tc_zguNrFY8skSMSfPjOqcJXQ_3_4"></a><a id="Tc_TzF0o7IcDkehBBZbJnMKRA_3_6"></a><a id="Tc_T5XFvdM4TEahiqQDgp_Kiw_3_8"></a><a id="Tc_e2IPX_ccLkCVvVsXeqcMTA_4_4"></a><a id="Tc_C5na0QiQkkifgBbpQF8pmQ_4_8"></a><a id="Tc_C5J7sK2X5kCGOVOZaj99TQ_5_0"></a><a id="Tc_Rty5_FdA30-jsmbBrI-vfw_5_2"></a><a id="Tc_-BudX_pwmUGh6361pOVKyQ_5_6"></a><a id="Tc_okWc2xLqEEqh9TxHKJfK7Q_6_0"></a><a id="Tc_Qq43hDJNX0699tZE5a4hlw_6_2"></a><a id="Tc_w6BzVfoWYk6pISalq89qtw_6_6"></a><a id="Tc_3RUylAiGj0-55Nqph-0Lhw_6_8"></a><a id="Tc_NRwstZfiBE6nGVYaTKZCVg_7_0"></a><a id="Tc_3sJ5cpHYGUqDGPwnTG04ZA_7_2"></a><a id="Tc_BG-EsS3lGUi9Z1tvpzi6zQ_7_4"></a><a id="Tc_tclRAuevxU-bkrll1bKqeA_7_6"></a><a id="Tc_Oick4GWtrkmL4S-eXAVoyw_8_2"></a><a id="Tc_PuLp46cUGkiN-G4zmfFt_A_8_6"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:FairValueDisclosuresTextBlock" id="Tb_YRvESIPL90ejeFwlJ4560A" continuedAt="Tb_YRvESIPL90ejeFwlJ4560A_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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;margin:0pt 0pt 12pt 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 12pt 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, Japanese Yen 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 0pt 12pt 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 12pt 0pt;">In 2022 and 2023, 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 12pt 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, 2022 and 2023 and the effect of derivative instruments on the consolidated statements of operations for the years ended December 31, 2021, 2022 and 2023 are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" id="Tb_R34kwujiD0OuFmJuvZ6yaA" 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.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.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.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:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.08%;border-bottom:1px solid #000000;margin:0pt;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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, 2022</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.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, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.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:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.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></tr><tr><td style="vertical-align:bottom;width:32.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_di-MGqik2ES4MeVXXg-c7A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_Xopmx_eJmEevVO1taPk4KQ_5_4">7,730</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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_OFdlqcT6n0a87_ppMDAVkg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_QRD-1CKMe0aIQu6B-CU6ig_5_8">9,282</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_FKpDUmgwb0qjp-_PqH_upA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_gn83nT0PsUy-LPFJO85M8Q_6_4">9,576</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.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;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.73%;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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_PAob01Ig0kOaLzsjKpJJ6w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_f8U7zvSLdk6XoOIQ4sTkFw_7_4">210</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;">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></tr><tr><td style="vertical-align:bottom;width:32.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_0Uc3q9OmZ0ynTP4Lq1OhWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_q7cMp3WnvEuzo-rMFzOESg_8_4">1,064</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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_tQJLpU8oT0ew6kXThcWNgw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_AZqyZJmRjUyNK9gof3Grvw_8_8">387</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.73%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_aZ6AFPK2NECVk1kGWEb_Yg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_h3vl7knJIUWYXF0VTn4zIg_9_4">18,580</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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_vU9CW6nzk0ajNK46Gs5w1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" scale="3" id="Tc_WkSDdtGxV02BymC_Nc0OpQ_9_8">9,669</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.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.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.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:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.08%;border-bottom:1px solid #000000;margin:0pt;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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, 2022</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.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, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.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:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.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></tr><tr><td style="vertical-align:bottom;width:32.73%;background:#cceeff;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;">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_LD26BMWRiEa7ZbOjcf7W8Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_44iPgVUJfUStJ4-ujFcriA_5_4">24,104</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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_G1Ru-mexRUGQuXOp6Sy1sA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc__smYytfxL0GiIzzoAd_Eng_5_8">6,702</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;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;">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%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_xpbimS3OeEq5hl1_tMytSg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_fs4jAOGsJUafRa1W1fw3uA_6_4">1,255</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;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%;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:32.73%;background:#cceeff;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;">Interest rate swap</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;">Other non-current liabilities</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;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%;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;">Other non-current liabilities</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;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_IEhdEFbRLk6ps2Obz0PXKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_rgkby48CKEutclchT6goVQ_7_8">801</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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%;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%;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%;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%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_aZ6AFPK2NECVk1kGWEb_Yg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_DKZQuDd1_U6wKZPDtG2_wQ_8_4">25,359</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:8pt;margin:0pt;"> <span style="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;">Total</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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_vU9CW6nzk0ajNK46Gs5w1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" scale="3" id="Tc_nnQJiUzqK0-fFNpIsr-DbQ_8_8">7,503</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:5pt;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-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, 2021, 2022 and 2023</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_du0sQFKA80K5xFQvDo8lXQ_1_4"></a><a id="Tc_fsiMRIlKy0Sb3IT5NS3n5A_2_4"></a><a id="Tc_-s30znjwj0qonQKGcN42dw_3_2"></a><a id="Tc_Vb9WJBDwmUWUg8I7fC_Hbw_3_4"></a><a id="Tc_7VmkDTtX3keear8ja178AA_4_2"></a><a id="Tc_UXVIcmRmsUuP5XTajr87Hg_4_4"></a><a id="Tc_tsBvFvR3LEaxtkHkpKX36w_5_2"></a><a id="Tc_izPACu0kW0iCeGrrkVwNgQ_5_4"></a><a id="Tc_yF1QghulNUm21MhTi0SX6g_5_6"></a><a id="Tc_Ouv278C5FEinQY6Of7jl1A_5_8"></a><a id="Tc_XqpTEPXPtU6lLzWE8woZYw_6_4"></a><a id="Tc_2LKoVlHmDUupuZr_THQQ8A_6_6"></a><a id="Tc_iTNxok5Bqk2yT2Ro4dlNPA_6_8"></a><a id="Tc_iFwrUNzuhEuWvi4nfYmfUQ_7_0"></a><a id="Tc_klqo2QBM5UK-PKhsUGS0SA_7_2"></a><a id="Tc_5mZ7FF9AvEKkxonLEZdk-g_8_0"></a><a id="Tc_drHD-79_uEC3OIHJYkf2SQ_8_2"></a><a id="Tc_wlKOk1jYWEqeCyAX1p1Wqg_9_0"></a><a id="Tc_Jea1o3Fydk6DkT2vNmTAbg_9_2"></a><a id="Tc_gHrGei5aSUS8jtGH8eynEg_10_2"></a><ix:continuation id="Tb_YRvESIPL90ejeFwlJ4560A_cont1" continuedAt="Tb_YRvESIPL90ejeFwlJ4560A_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">9. FAIR VALUE MEASUREMENT (Continued)</b></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;">Interest rate swap and commodity hedge (Continued)</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" id="Tb_L6Jn5bM4mE6Rv4iRpbKigQ" 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;">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.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><td 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;">2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_tUdp7tVF7UeaMFuDgqODRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_kWADT9sKFkeVP404dT-sug_7_4">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.25%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_Hk09aV1AYUu8Pqq55Q2KCg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_nYjmHonJnEuR1oq-5kECSg_7_6">49,388</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_NFQkSlwzQU6JE-FEOZW_fQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_MHXwT8DbrkGritShQNcFnA_7_8">38,241</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_HRchQ1DoU0WfFigDh2Yzmw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_Cn2AUZUlcUmq1emj4YfZrg_8_4">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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_8zsla1VVkkKYgWgXmI1P_A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_HQ1yHM5KnkS15vOZJR-fNw_8_6">8,918</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_AuahKICJqEO294v12yEA2g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_xmWosyMg-0SiOPAcFzScBg_8_8">10,712</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;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_Wk7DD-At306YTa8aWZjUjw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_84qJo569uEC8d9nvdy1HLg_9_4">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.25%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_aI8OQZhGzEmCswGZCt6WfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_tUogGO7LPU-s9VfQn29EmQ_9_6">4,019</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;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_YPqGg8zoSkKmx5MpxP3lQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_nnriJSeN3E61VMN7t1d4EA_9_8">25</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:10pt;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: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;">Total</p></td><td 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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" scale="3" id="Tc_6WbCog1zCkW6AYa1QGyTbQ_10_4">23,785</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:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_hU2lTdzjm0yvBNdFfH6LIA_10_6">44,489</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:8pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" sign="-" scale="3" id="Tc_phLceQTTXUic4yKkEKFltQ_10_8">27,504</ix:nonFraction>)</p></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><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;">Marketable securities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2020, the Company received shares of Suzhou Good-Ark Electronics Co., Ltd (&#8220;Good-Ark&#8221;), listed on Shenzhen stock exchange, for the disposal of its ownership of Suzhou iSilver Materials Co., Ltd as part of the consideration. These shares were carried at fair value of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MarketableSecuritiesCurrent" scale="3" id="Narr_5gBLhBGH1U-tBQY-gWs0CA">18,337</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MarketableSecuritiesCurrent" scale="3" id="Narr_PmrcRGGnJ0SyoElh-EAi6Q">15,190</ix:nonFraction> as of December 31, 2022 and 2023, respectively, included as a component of Prepaid expenses and other current assets. Fair value gain on these shares of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" scale="3" id="Narr_nWrJqe0EHEeFBezhMoAp8w">4,744</ix:nonFraction> was recorded under investment income in the consolidated statements of operations for the year ended December 31, 2021, and fair value losses of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" scale="3" id="Narr_dGWniNghi0OTDlf8VDYfiQ">418</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MarketableSecuritiesUnrealizedGainLoss" scale="3" id="Narr_2GoHsf-9FUizKSrvU0TTew">2,826</ix:nonFraction> were recorded for the years ended December 31, 2022 and 2023 under investment income, net, respectively, in the consolidated statements of operations. The fair values of Good-Ark were measured based on quoted prices on the Shenzhen stock exchange, which is classified as Level 1 fair value input.</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></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, 2021, 2022 and 2023</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_YRvESIPL90ejeFwlJ4560A_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company invested in Suzhou Jingkong Energy Technology Co., Ltd., Hangzhou Gaote Electronic Equipment Co., Ltd., Suzhou Hongruida New Energy Equipment Co., Ltd. and Youli Intelligent Technology (Shanghai) Co., Ltd. These shares were accounted for using fair value option, and were included as a component of other non-current assets and were carried at fair value of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLongTermInvestments" scale="3" id="Narr_glMTu6FgtEyqxQuYVZmY-g">7,134</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLongTermInvestments" scale="3" id="Narr_D-r0EIg0b0yJnqNyzTQE8g">22,869</ix:nonFraction> as of December 31, 2022 and 2023, respectively. Unrealized gain on these shares of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquitySecuritiesFvNiUnrealizedGain" scale="3" id="Narr_Sk2QG01-mU-CBNbKajKeXg">1,810</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquitySecuritiesFvNiUnrealizedGain" scale="3" id="Narr_A6uTPbCgS0SYrT2WvB2V4w">15,500</ix:nonFraction> were recorded for the years ended December 31, 2022 and 2023 under investment income, net, in the consolidated statements of operations. The fair value of these investments were measured based on valuation incorporating the Company&#8217;s own assumptions that were consistent with those of market participant, and were classified as Level 3 fair value measurements as the inputs are not observable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company invested in available-for-sale debt securities. These investments were carried at fair value of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="3" id="Narr_-iX-6Jyqp066OBjmKd1RhQ">3,739</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent" scale="3" id="Narr_FoqUG2LSj0uLTZ87JKdavQ">4,134</ix:nonFraction> as of December 31, 2022 and 2023, respectively, and were included as a component of prepaid expenses and other current assets. Gain of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="Narr_2QAlO0-3mUua5j6WuHlhsw">904</ix:nonFraction> and loss of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" scale="3" id="Narr_q7qIiCZi-0OgsbS_h2f1CA">3,487</ix:nonFraction> on these investments were recorded for the years ended December 31, 2022 and 2023, respectively, as a component of other comprehensive income (loss). The fair values of the available-for-sale debt securities were measured based on quoted prices of other debt securities with similar maturity dates and interest rates, which is classified as Level 2 fair value input.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company recorded property, plant and equipment impairment charges of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_bxBN7v4-sUWePwY1oyeTxA">6,084</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_CXskC1u00UWOg7fAq8cUsg">60,330</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_3Yd2o7-qcke0ZGsEJ3_svw">5,938</ix:nonFraction> for the years ended December 31, 2021, 2022 and 2023, respectively, on certain solar product manufacturing asset group. 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 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 12pt 0pt;">The Company recorded impairment loss on project assets of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_ADqkYgAWPkaoQ88ivZthZQ">17,152</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_WwaoTtYSAkKoFcprN7Mosw">1,674</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_EkI8vNLnqEGbfpHWRhXiJg">16,239</ix:nonFraction> for the years ended December 31, 2021, 2022 and 2023, 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 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 12pt 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;">The carrying values of cash and cash equivalents, restricted cash, trade receivables, billed and unbilled, amounts due from related parties, other receivable, accounts payables, short-term notes payable, amounts due to related parties, current portion of advances from customers, 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Narr_UKv3Qn0uDUmLvNNa2bfd6Q">813,406</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Narr_PgaiNpebMUSpt08dqWt5Sg">1,265,965</ix:nonFraction> as of December 31, 2022 and 2023, respectively, which approximate their fair values since most of the borrowings contain variable interest rates. The carrying value of the Company&#8217;s outstanding green bonds and convertible notes was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleDebtNoncurrent" scale="3" id="Narr_V5GUzZXybEC9gEAwmYlCUA">257,615</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleDebtNoncurrent" scale="3" id="Narr_pdI-QXA27U2ihLRigXJbCw">389,033</ix:nonFraction> as of December 31, 2022 and 2023, respectively, which approximates the fair value. The fair value of long-term borrowings and green bonds 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></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><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, 2021, 2022 and 2023</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_uKtAgygBvE2_uAKKgvpuXw_1_2"></a><a id="Tc_ub0gbwvErEqETX-I1clwRA_1_4"></a><a id="Tc_icRl48z0RUupNmqmDPPc7w_2_2"></a><a id="Tc_jqOXumHQakq7PScY56Pcsw_2_4"></a><a id="Tc_dMwX32B1PEeQIAUYj3hPrA_3_2"></a><a id="Tc_jKlM_EbQKUiATeG8LvcH-A_3_4"></a><a id="Tc__Ymas4atske1c2DIp4WyNg_4_0"></a><a id="Tc_MKcO0JCeYkeq0KqHHoTiXw_5_0"></a><a id="Tc_Z98oA4_5o0OtI8OG1PVHyA_6_0"></a><a id="Tc_KmV-gjaV_Eiq1gFs0wwiKQ_7_0"></a><a id="Tc_mQc6iYEg4kuZv_yfzHzbLQ_9_0"></a><a id="Tc_5BJU-iX45Uu6tiATacJumA_10_0"></a><a id="Tc_77LZi_GxAkarMjdMpaWjOg_11_0"></a><a id="Tc_CqnuhNauN0-4MQxzt90iKA_12_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:VariableInterestEntityDisclosureTextBlock" id="Tb_MgaE1UEj4EWFF5kjjTsHgA" continuedAt="Tb_MgaE1UEj4EWFF5kjjTsHgA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 0pt;">As of December 31, 2022 and 2023, 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfVariableInterestEntitiesTextBlock" id="Tb_bb6lNHNTc0SymD_sg7Vaaw" 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.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.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: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.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: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.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.85%;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.85%;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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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><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;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;">2023</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;font-weight:bold;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;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.93%;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.85%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="3" id="Tc_T0TzT_-K10-Nyn4CcW0YAQ_4_2">15,903</ix:nonFraction></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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Cash" scale="3" id="Tc_pV5G4P7WfkqLg3--b1P3Jg_4_4">10,478</ix:nonFraction></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;">Project assets</p></td><td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssets" scale="3" id="Tc_pZdyFwN1WEuq6qvoW09JCA_5_2">320,460</ix:nonFraction></p></td><td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssets" scale="3" id="Tc_nEXkiyGT_kWa9zM4jbBkDQ_5_4">109,144</ix:nonFraction></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;">Other assets</p></td><td style="vertical-align:bottom;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssets" scale="3" id="Tc_WRvzyMQbHUeHIWCVlZR-Kw_6_2">30,163</ix:nonFraction></p></td><td style="vertical-align:bottom;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssets" scale="3" id="Tc_x2vaDC9vP0mT3Ms914jzkQ_6_4">40,340</ix:nonFraction></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;">Total assets</p></td><td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_gvCxOZYxtkmk5C0EI7SXQg_7_2">366,526</ix:nonFraction></p></td><td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_tIEHlFkgc0aIioWZjCXUlQ_7_4">159,962</ix:nonFraction></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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.93%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_o7zl6tJTc0GPZQ4NxNnRJg_9_2">191,792</ix:nonFraction></p></td><td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermBorrowings" scale="3" id="Tc_z0RtDEa5ZEKByXBFoFIpig_9_4">73,131</ix:nonFraction></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;">Long-term borrowings</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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_5JPotWFpfUu42qHuxgF_QA_10_2">49,675</ix:nonFraction></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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_eMcFA_awcUm3kV3ybex9NQ_10_4">16,956</ix:nonFraction></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;">Other liabilities</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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilities" scale="3" id="Tc_M5Dq8VmxMU6a7QMw2dViwg_11_2">26,366</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilities" scale="3" id="Tc_NCyubEhIlEKgwXPRQovgew_11_4">27,376</ix:nonFraction></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;">Total liabilities</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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_UUPMrde-J0CC8nIMgYtFLg_12_2">267,833</ix:nonFraction></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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_UpynIJq6lkO9-4iLz7sZmQ_12_4">117,463</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: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, 2021, 2022 and 2023 were insignificant to the Company&#8217;s consolidated financial statements.</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-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, 2021, 2022 and 2023</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_MgaE1UEj4EWFF5kjjTsHgA_cont1"></ix:continuation><a id="Tc_NlgGH717z0u2xGgu5M9toQ_1_2"></a><a id="Tc_RJPvUIlIgk2nCqS75-iYjQ_2_2"></a><a id="Tc_ySd_9-bemEWEN2wA3TVKOQ_2_6"></a><a id="Tc_Fq5c1AWGj0ydV6WNUnbQJA_3_2"></a><a id="Tc_m9248A5xRkiuNfyVVeEHwA_3_4"></a><a id="Tc_8HGU00nQDk-dfqCPDcjWQA_3_6"></a><a id="Tc_3NRF98jZOEixw2a1bKkJrw_3_8"></a><a id="Tc_i9MM4sjJBEyLvT-A8lScCg_4_2"></a><a id="Tc_D26xsMFb-kWSaDIWvD6ZRw_4_4"></a><a id="Tc_HxFEd-TTNka_OiXgGR7Kww_4_6"></a><a id="Tc_RMm_V_lIOU-AZUf0wBccfA_4_8"></a><a id="Tc_UaeoTQExFkWD2G1DWvdP5w_5_2"></a><a id="Tc_OKhNWlsU9kqwFIYeOp7zNw_5_4"></a><a id="Tc_LbjtzjHjD0CPexXLsoCF_g_5_6"></a><a id="Tc_JZoqRcJaM0KcqTH1sU_7MA_5_8"></a><a id="Tc_CjRkdk4qfkOi607Wbgqb0g_6_0"></a><a id="Tc_TP8GFPJipUeJPxKpvd9URA_6_2"></a><a id="Tc_IB35EUtRZkeSDmvi6c5_Dg_6_4"></a><a id="Tc_l0iFNOrJ_kGxtWNgGUYVdg_7_0"></a><a id="Tc_fCLOKb2cQkCgGx1M5dyz0A_8_0"></a><a id="Tc_8lQbMJlc4ESPZMY38jRCYQ_9_0"></a><a id="Tc_x-4Lkkizl0aJuqv3E8IZGw_10_0"></a><a id="Tc_lsGTWcTuB0Gl4lbl2uIMIA_11_0"></a><a id="Tc_CyfRL3e_6EWa7yJA6jF8kA_12_0"></a><a id="Tc_YH6gRcHyyUejyNAfe3rWSw_13_0"></a><a id="Tc_Jwr7TpjyKk-OUJvVCZgDLQ_14_0"></a><a id="Tc_PLarn88xTEalIbGSW3F_pw_15_0"></a><a id="Tc_BOg-vhRl-E64A4Y6tVkAWA_16_0"></a><a id="Tc_d9ABfGo5h0iioMKK5oRR3Q_17_0"></a><a id="Tc_JTVIQaIUX0GBG4CYjG8Mng_18_0"></a><a id="Tc_IzfTMaxkXEWsuyE1crlcPA_18_4"></a><a id="Tc_8nu8agPJ_0O49acWhKLy6w_18_8"></a><a id="Tc_-sSjnDYHV0eaOdi1sgVn7w_19_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:EquityMethodInvestmentsDisclosureTextBlock" id="Tb_tHptWzfD3k2-NpA_F1lQ_A" continuedAt="Tb_tHptWzfD3k2-NpA_F1lQ_A_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:EquityMethodInvestmentsTextBlock" id="Tb_h4IuPcDDuUWkQyaAjduHmw" 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: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.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:7.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: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: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.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:7.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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: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:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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:34.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;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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:16.57%;border-bottom:1px solid #000000;margin:0pt;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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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:15.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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:7.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;">Carrying</b></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: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%;margin:0pt;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.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:7.03%;margin:0pt;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.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: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;">Ownership</b></p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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;">Value</b></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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">Percentage</b></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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:1px solid #000000;margin:0pt;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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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%;border-bottom:1px solid #000000;margin:0pt;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:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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;">$</b></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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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><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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p 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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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%;margin:0pt;padding:0pt;"><p 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:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lingang Frontier (Yangzhou) CSI New Energy Investment Fund, LP</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> &#8212;</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> &#8212;</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_2OinKKZJ7ESWsceFT_2Fkg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_7yQfmuRqQU6YSM-ln4kXvQ_6_6">42,357</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_2OinKKZJ7ESWsceFT_2Fkg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_O2W5c5zSpEu0LesdjQzCeg_6_8">44.3</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Marangatu Holding S.A.</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_wDRW352b5kiHruoqG79bIg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_--p8_uAvQUyQl9RG3zdhmQ_7_2">2,500</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_wDRW352b5kiHruoqG79bIg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_JcWOsJPIw0S3wmyNuJvyAA_7_4">30</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_sE9JlBIBf02BMadJX7ewbQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_6J6qsm-3F0OLJpPQ5LS7Ng_7_6">30,790</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_sE9JlBIBf02BMadJX7ewbQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_okpgpvz400CWxPwzWug38A_7_8">30</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Suzhou Financial Leasing Co., Ltd.</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_rH0cLwUtzEKdmU-0WJW00Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_Xv8QBW2vP0eLS8YMcMvUBA_8_2">27,328</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_rH0cLwUtzEKdmU-0WJW00Q" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_32U97uSZFkCOtTw9oznnWg_8_4">4.2</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_duV2DGKTN06DflXRy2BCsw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_xFprnCD4s0CHTJNk2o5vkw_8_6">30,048</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_duV2DGKTN06DflXRy2BCsw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_0AoBNndoO06XP-0yWCvr3Q_8_8">3.0</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Panati Holding S.A.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_HObGbwA6rkKq9qNyMUCC8w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_1JyCl8lxA0i6WQG_1MPeLw_9_2">1,818</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_HObGbwA6rkKq9qNyMUCC8w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_SeswPfoZJEmWpYeGAZr32Q_9_4">30</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_-JzrusLcBEyJGrRJrI9t7g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_87Ek2GMslkup5JMcgmqlfw_9_6">28,185</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_-JzrusLcBEyJGrRJrI9t7g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_aAS8J0Km20iMezoLdZEasw_9_8">30</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">RE Crimson Holdings LLC</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_-6DXDdIfbESVAsG1T-VOGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_zGm4DMBWPUGZbaDkooRDcA_10_2">22,272</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_-6DXDdIfbESVAsG1T-VOGQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_Zz-Ls8C-NUWUsBlL7Grx7Q_10_4">20</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_hVqkPUIHRE-X8HNy3eGuAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_kg0Xn4gjVUOvDnYPBddQgA_10_6">26,551</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_hVqkPUIHRE-X8HNy3eGuAw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_idQzKOoO50SdvQoyDvgS_A_10_8">20</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canadian Solar Infrastructure Fund, Inc.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YuN8otQ-UUmQVOACshWqUQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_v3YSLCtJpkSC-IajZtRr9g_11_2">8,961</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YuN8otQ-UUmQVOACshWqUQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_heVyhxcZR0-XP0bx1cbtsg_11_4">14.6</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YV-0wOfos0G0S3tK8XV4Qg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_6GMoEPLDP0yGrhchMrbBMg_11_6">17,677</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YV-0wOfos0G0S3tK8XV4Qg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_HpIxUXOiHkCYuwLFyOmskQ_11_8">14.5</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lavras Solar Holding S.A.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_mHPlZng1E0-xfWWEw6Cnlg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_-rtESlKG9U2TVVyEebZx6Q_12_2">14,318</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_mHPlZng1E0-xfWWEw6Cnlg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_z9kaEoL-t0e35mfLJBWXBw_12_4">20</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_hJBCxK0cakqRAECJ3jDNVQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_CSNzieJlwEiKYanX_n-PEA_12_6">12,881</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_hJBCxK0cakqRAECJ3jDNVQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_v6laQp_2fUO5e8LxtQxm6w_12_8">20</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Suzhou Zhuosheng Venture Investment Fund, LLP</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_Ow3TwyrHsE-4mFzS4-XUdA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_KtmtU6pnEEGV71jDsjiaCg_13_2">6,868</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_Ow3TwyrHsE-4mFzS4-XUdA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_dceNBibkI0-yhJvyBDr5-g_13_4">17.9</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_ES_8yv8-X02wcUssdjYvzg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_o78WqUdx7UawlTugQ6LG_A_13_6">8,957</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_ES_8yv8-X02wcUssdjYvzg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_PuRYJGK9IkG7DVFba6SXuQ_13_8">14.0</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Francisco Sa Solar Holding S.A.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_6tihLq2cukSAwzsDUH4cQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_KXVAOLmSUU2au7GNuXe1rA_14_2">7,683</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_6tihLq2cukSAwzsDUH4cQg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_Boc5JykN_kKyRY16TpVZ7w_14_4">20</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_TY83BwNUZU-ZTDJiry-VLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_0ipvBxiBEEq1mrzsmxuDTw_14_6">7,553</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_TY83BwNUZU-ZTDJiry-VLQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_nV7BszeQQ0mTAWlFg6DR1w_14_8">20</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Salgueiro Solar Holding S.A</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_twzCWt7dwkaXYmT0SFdhGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_pkNnFiqDMkSi2zWHJxzV_Q_15_2">6,595</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_twzCWt7dwkaXYmT0SFdhGA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_GsLeWRReWUOjxhaAzZI_oQ_15_4">20</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_vjP3pPKVjk6zwL540Y_M8A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_-hNCi-l-Q0W4ih9gAFNwTw_15_6">7,250</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_vjP3pPKVjk6zwL540Y_M8A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_ksPISr2fWUu-cGXzGnf3fQ_15_8">20</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">JuSheng (Suzhou) Solar Tech Co., Ltd.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_eplsERuDtkmJzzrbkY9cPg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_G-GXkaX5D0uabK4B_mjq9g_16_2">5,922</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_eplsERuDtkmJzzrbkY9cPg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_ROEEppNhHE-uK3iNxMjEVw_16_4">4.4</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_1mNm8QQBCkm6WDlUh_uDCg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_l2_vApyMy06SE9TUgmYXNg_16_6">7,028</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_1mNm8QQBCkm6WDlUh_uDCg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_ifaVZkHDNEWtkmn6kXinhQ_16_8">2.2</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Jaiba Solar Holding S.A.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_RjxDW-MyJ0eHF_f_KVatHw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_fgCmIo1MEUi15fstR1gAHw_17_2">5,077</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_RjxDW-MyJ0eHF_f_KVatHw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_n0oc9LejhUunaNqGEQRSkg_17_4">20</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_XxwEcXnbU0elNwkCBJD7YQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_Ry0XJVApCkOpcYixwErFKg_17_6">4,131</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_XxwEcXnbU0elNwkCBJD7YQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Tc_8TdjydwTQUuE6tKxkkEgJw_17_8">20</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64%;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.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_vKao-F6BEEmMPBIXaCDeJA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_Jc2jm1wEjk-0o9cUTrDCHA_18_2">6,442</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_giTyTHCmxEi7jHUphaDrVQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_rM4_OOpXXk2pENEfR-9MPg">10.9</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_5cTg1Rm6SUCzwziTf4m_cg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_tPCu51hZ4ESj0Ac7yyS-Hg">49</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_WzXHDGFC-UOSPCVpeuY6wg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_NETR3CfppkC1Use9EzXf2w_18_6">13,520</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_JX8eSrTNDkGtTL28a52Cbw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_TCkjrUnthkmLqXHV96N50g">8.5</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_tMg3pVrzcEGb1EXirB3r2Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_wE3TL3w0WUG8RVK2jZrA1A">49</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64%;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.79%;margin:0pt;padding:0pt;"><p style="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.77%;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_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_weZpn7qXF0Gzi7qIbhs92g_19_2">115,784</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.03%;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_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestments" scale="3" id="Tc_H9u6fzHFlU-Xssk0ncsApw_19_6">236,928</ix:nonFraction></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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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></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;text-indent:18pt;margin:0pt 0pt 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_rH0cLwUtzEKdmU-0WJW00Q" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_DzZFsXxQwUaROYQQee4luw">4.2</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_duV2DGKTN06DflXRy2BCsw" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_9S3hO7yzqE2Azta2lrRHPg">3.0</ix:nonFraction>% as of December 31, 2022 and 2023, respectively. <ix:nonFraction unitRef="Unit_Standard_director_BaaAX3GvrUGwLmMpNrgmZA" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfBoardMembersDesignatedByTheAcquiredEntity" scale="0" id="Narr_55UKtZv0V0u0iGpngn1cug">One</ix:nonFraction> of <ix:nonFraction unitRef="Unit_Standard_director_BaaAX3GvrUGwLmMpNrgmZA" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfBoardMembers" scale="0" id="Narr_zPaQKjowIEam7gQG666kIQ">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 12pt 0pt;">In 2017, Canadian Solar Infrastructure Fund, Inc. (&#8220;CSIF&#8221;) completed its initial public offering, and the Company held a total of <ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_e8f8q252002Oe2m6EHdsAw" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfUnitsHeldAsInvestments" scale="0" id="Narr_3NpXQYuJBk2DZE1JD8bjBQ">56,620</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_RXqSE3aBZUWeroziSJM_Vw" decimals="0" format="ixt:numdotdecimal" name="csiq:NumberOfUnitsHeldAsInvestments" scale="0" id="Narr_D4CclaCk3EGbkPCaVwl_Ug">65,672</ix:nonFraction> units as of December 31, 2022 and 2023, respectively, representing <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YuN8otQ-UUmQVOACshWqUQ" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_vZOzR1JM7EyXLzgg7qX9gA">14.6</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YV-0wOfos0G0S3tK8XV4Qg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_BOkFN4PAeUODySs9MupGvg">14.5</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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_Ow3TwyrHsE-4mFzS4-XUdA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_qbU_goQC_UO7xvIB0tQGQQ">17.9</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_ES_8yv8-X02wcUssdjYvzg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_4cXJSQEsxUew_OLlG6resQ">14.0</ix:nonFraction>% as of December 31, 2022 and 2023. 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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_puNThMPmG06ctuSpQS07Tg" decimals="2" format="ixt:numdotdecimal" name="csiq:EquityMethodInvestmentOwnershipPercentageSold" scale="-2" id="Narr_L8cqj0fUSkuGdu48qbMJWQ">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_PyIlF4rFRU6ixQwjQC9f9A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_BPN6mOZ0ZE2I2qcarHXWxQ">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_puNThMPmG06ctuSpQS07Tg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Narr_arYITf9Px0CKlHsWRj_Z9Q">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_puNThMPmG06ctuSpQS07Tg" decimals="-3" format="ixt:numdotdecimal" name="csiq:DecreaseOfNetAssets" scale="3" id="Narr_g7DKdErfg0SE5EjMKrw8dw">42,333</ix:nonFraction> and recognized the retained equity interests as investments in affiliates on its consolidated balance sheets.</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-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, 2021, 2022 and 2023</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_tHptWzfD3k2-NpA_F1lQ_A_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_eplsERuDtkmJzzrbkY9cPg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_bxV5WdHZ90K_xZMi_bEQ3Q">4.4</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_1mNm8QQBCkm6WDlUh_uDCg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_iwTgF2caV0umRaYnXc1izg">2.2</ix:nonFraction>% as of December 31, 2022 and 2023, 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 12pt 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_BDq6n7Bo-UOX0DD3343LRA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Narr_BxR7eswRtkqLEeXOpwkR7g">100,896</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember__cdig0q_P0u8GJ7-WnMdUA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Narr_XuQq9L5eNkGC_DL0x45ijg">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_3L-jlL8XikeSPsqiQACsmA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_YZ5otjxM0Eqm7MnbZKiVQw">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember__cdig0q_P0u8GJ7-WnMdUA" decimals="-3" format="ixt:numdotdecimal" name="csiq:DecreaseOfNetAssets" scale="3" id="Narr_VkucmtccIk2o5U7jRwu7AA">10,363</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_0A_FTcQnvkyceg0AWEwFTA" decimals="-3" format="ixt:numdotdecimal" name="csiq:DecreaseOfNetAssets" scale="3" id="Narr_DbIxeVwBJUCCVqs0AmHKnA">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, 2022 and 2023, the Company owned <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_kdB_HttlQkSD-mqa9_cOrQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_y5Fyj5Sk_0O93SnR281eZw"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_3L-jlL8XikeSPsqiQACsmA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_VK9NglY8ukmq0Q3Joe8Aag">49</ix:nonFraction></ix:nonFraction>% of each of Horus and Recursos.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In August 2019, the Company completed the sales of its majority interests in Salgueiro Solar Holding S.A (&#8220;Salgueiro&#8221;) which holds its Salgueiro project, Francisco Sa Solar Holding S.A (&#8220;Francisco&#8221;) which holds its Francisco project, Jaiba Solar Holding S.A (&#8220;Jaiba&#8221;) which holds its Jaiba project, and Lavras Solar Holding S.A. (&#8220;Lavras&#8221;) which holds its Lavras project, to an unrelated third party. In connection with these sales, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_8_1_2019_To_8_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member_IMVBOA3zXUGvZL_Btbl27w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Narr_ZMfwYzTpZUaZuQ5zFaDT0g">12,793</ix:nonFraction> was recognized as revenue in 2019 and the Company&#8217;s interest in Salgueiro, Francisco, Jaiba and Larvras have each decreased to <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_8_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member_HnwAWgb92USUPLT-WPM1Lg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_LpWK93lKw0u4PyP1fqVI-A">20</ix:nonFraction>%. With the loss of controlling financial interests in Salgueiro, Francisco, Jaiba and Larvras, the Company derecognized net assets of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_8_1_2019_To_8_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member_IMVBOA3zXUGvZL_Btbl27w" decimals="-3" format="ixt:numdotdecimal" name="csiq:DecreaseOfNetAssets" scale="3" id="Narr_6Eq5RcVwPEucpuR12gfGlw">8,369</ix:nonFraction> in 2019 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 12pt 0pt;">In September 2022, the Company completed the sales of its majority interests in Marangatu Holding S.A. (&#8220;Marangatu&#8221;) which holds its Marangatu projects, and Panati Holding S.A. (&#8220;Panati&#8221;) which holds its Panati projects, respectively, to unrelated third parties. In connection with these sales, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_9_1_2022_To_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_2FqzqPVug0GzktQYtX_Qnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Narr_gvQBzHfHeUiVWc2mPACo1Q">12,007</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_9_1_2022_To_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_9nkCy2Bu4UKWf8x0QTC0uA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal" scale="3" id="Narr_K4jCImAPhUugtYRNJ6sjEQ">2,259</ix:nonFraction> were recognized as revenue, respectively in 2022 and the Company&#8217;s interest in Marangatu and Panati have each decreased to <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_J1nPo-TGwUy5bTFpncX2LQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_PBxZzUOtt0uSoKi_vmUMUg"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_NJR_95naqkGM-mDRVr87Hg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_nJfhi-_NoEGU9CgoKkAuaQ">30</ix:nonFraction></ix:nonFraction>%. With the loss of controlling financial interests in Marangatu and Panati, the Company derecognized net assets of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_9_1_2022_To_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_2FqzqPVug0GzktQYtX_Qnw" decimals="-3" format="ixt:numdotdecimal" name="csiq:DecreaseOfNetAssets" scale="3" id="Narr_-ljw_Owy_0i15DOXNQhOAQ">6,267</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_9_1_2022_To_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_9nkCy2Bu4UKWf8x0QTC0uA" decimals="-3" format="ixt:numdotdecimal" name="csiq:DecreaseOfNetAssets" scale="3" id="Narr_UH1j_OpNlUyLYXOBN4KJMA">2,262</ix:nonFraction>, respectively, in 2022 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 12pt 0pt;">In August 2023, the Company, through CSI Solar Co., Ltd., established an entity, Lingang Frontier (Yangzhou) CSI New Energy Investment Fund, LP, with <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_8_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_HqyayS63UUOuiW3f6jBVZg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_7HFdfq1_Y0yTdOXKDtu1-w">44.3</ix:nonFraction>% effective interest in the form of limited partnership. This investment is accounted for by CSI Solar Co., Ltd under the equity method as it exercised significant influence over the investee.</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Narr_hIQWYi4tg0GriLUZst4Thw">7,256</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Narr__PJqTvOmI0Wfe9NwT6pBdA">15,440</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromEquityMethodInvestments" scale="3" id="Narr_x5DJNmrzek2aw2wXV_ik-A">14,610</ix:nonFraction> for the years ended December 31, 2021, 2022 and 2023, respectively. Refer to Note 20 for the Company&#8217;s related party balances and transactions in 2021, 2022 and 2023.</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-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, 2021, 2022 and 2023</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_a7LmCcnPWkW2gvo9f58b6g_1_2"></a><a id="Tc_6t0atDiqIUShKFVzQdb2aA_1_4"></a><a id="Tc_pF9hE7wQTEKDnJoZNTzk7g_2_2"></a><a id="Tc_UshQDHx-okSVPCqK_BspZQ_2_4"></a><a id="Tc_daWJoxHqiU-a_ZIrkz5GUw_3_2"></a><a id="Tc_LfzRUxCrE0K4GWsFFhSIxw_3_4"></a><a id="Tc_oK0r2xsJ90CjznsQ3d4hkA_4_0"></a><a id="Tc_pr6JIQ3ZbUiaRLSmiPReIA_5_0"></a><a id="Tc_gK3PIj6XYUCrqhRZ78HSIg_6_0"></a><a id="Tc_A_8y19_TQki-mcLvc1U7fw_7_0"></a><a id="Tc_OhXoqEqrEESViarGtawkpw_8_0"></a><a id="Tc_SvhP0maTGUGmYr950MssXA_9_0"></a><a id="Tc_nJYHKiIR4E6-jUn4ZjbSAQ_1_4"></a><a id="Tc_G019_m_XDEeepU0UFw82Kg_1_6"></a><a id="Tc_kr84sMZyDUGXuhsQE2rt7w_2_2"></a><a id="Tc_CJTWBw1qcEueivx1_TSHxA_2_4"></a><a id="Tc_rZHvsqhxIUOfjv-V6gCeXQ_2_6"></a><a id="Tc_4k_3QBDKeEK5HBe5EDBn9Q_3_4"></a><a id="Tc_pkygUMb1vkqyuRFAwsZs0Q_3_6"></a><a id="Tc_uBffbjaA4kKrNxn5gR947g_4_0"></a><a id="Tc_ZZqej_h3QUeHYRH8xu-2sg_5_0"></a><a id="Tc_Xb6IWuVn3EOFypTzEoLZxA_5_2"></a><a id="Tc_plqery8_6EGC5Q-NsSj3LA_6_0"></a><a id="Tc_hzMdF4IYFkuNDDlhZ5YmPw_6_2"></a><a id="Tc_MwLNk-Fw1EuKqu2h0U7kzw_7_0"></a><a id="Tc_3DEFfzOPXkOWv6FtFXgXQQ_9_0"></a><a id="Tc_Lcw-T-WFOkWMKnkU0AnQLA_10_0"></a><a id="Tc_Kqj_nK47g0O89CXAD141tg_12_0"></a><a id="Tc_geBEeqSMBkmlvJ-SWy0AuQ_13_0"></a><a id="Tc_NVspfXopQE2ljaiqdhT60w_13_2"></a><a id="Tc_sfYBc90E50SzhVM8Wz6wmw_14_0"></a><a id="Tc_oxbNl-MXYk29U5juDRQNrA_14_2"></a><a id="Tc_c3Gpg0STiUyX3jVOflixMA_15_0"></a><a id="Tc_35Vrc5ZfBUqkpSr1s_35yg_17_0"></a><a id="Tc_Bx_kJe_dv0WfJJxb9R-urw_18_0"></a><a id="Tc_Qylo_EK94EqXrtig17ifGA_19_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:LesseeOperatingLeasesTextBlock" id="Tb_7LZdFxrX7kO-YF1uJKrFpA" continuedAt="Tb_7LZdFxrX7kO-YF1uJKrFpA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 United States, PRC and Europe. </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_2023_srt_RangeAxis_srt_MaximumMember_u3RxRVI0H0KvHxTn_PKCeg" format="ixt-sec:durwordsen" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="Narr_ghlPnF9uOEaEDY6VUKyZlQ">50 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:LeaseCostTableTextBlock" id="Group_uHafMUiQfEqYuICSDZJFiA" 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;2022</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;2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="3" id="Tc_cCknkFSouEmQ79lonWVAcA_5_2">11,406</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" scale="3" id="Tc_zRJAuINoYkqxvqAACZUJAA_5_4">49,483</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestExpense" scale="3" id="Tc_2J4QH68bN06MQ6VnH2681A_6_2">1,994</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestExpense" scale="3" id="Tc_wom1Z4wN7UWClKWkQP4ZoA_6_4">5,368</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="3" id="Tc_Wljyy4svtEGid_3dMNt8Bg_7_2">14,936</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="3" id="Tc_f_t-uN_Mi0yv8JqkSQ4ZvQ_7_4">24,489</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermLeaseCost" scale="3" id="Tc_unxZfgVurUe0PQ1D9oDtpA_8_2">1,028</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermLeaseCost" scale="3" id="Tc_t2GwlFYoFEW-ROEarJkJ0A_8_4">1,824</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="3" id="Tc_zMJgE-wKoUGWGoy24ENexA_9_2">29,364</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="3" id="Tc_kVZWW8B1mEu9W93U5R0HSw_9_4">81,164</ix:nonFraction></p></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><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock" id="Tb_VCkBHCbudkq_ZTEwCcBi_Q" 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:42.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.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:29.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.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:11.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:1.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:11.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></tr><tr><td style="vertical-align:bottom;width:42.26%;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.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;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.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.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;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;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:1.47%;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:11.95%;margin:0pt;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:42.26%;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.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><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;border-bottom:1px solid #000000;margin:0pt;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 Sheet Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.95%;border-bottom:1px solid #000000;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:1.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;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;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;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;border-top: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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.95%;margin:0pt;padding:0pt;"><p 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.47%;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:11.95%;margin:0pt;padding:0pt;"><p 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:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:29.38%;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:1.47%;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:11.95%;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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights" scale="3" id="Tc_x7j4UTBwM0GxMbVJUAeZZQ_5_4">35,506</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights" scale="3" id="Tc_JeFbBYMq5kiewTrlT3WceA_5_6">132,786</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Land use rights, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Right-of use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LandUseRightsNet" scale="3" id="Tc_i8PEWNJqPEmNG983mmicWQ_6_4">68,094</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LandUseRightsNet" scale="3" id="Tc_il5ZRJo5jEe7SPMvoRh8oQ_6_6">104,221</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;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:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_1wPS3ETqU0W7sEo3lU148A_7_4">103,600</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_FWEBxqJ4YECmbu0TbeG5ZQ_7_6">237,007</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;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.47%;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.95%;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:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Finance lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="-sec-ix-hidden:Hidden_ZX4ffP3Aek6tCHKygIAEPQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Property, plant and equipment, net</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="3" id="Tc_JrGo8RxmbkGtdzoHdSxxFw_9_4">41,705</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="3" id="Tc_XYMgxx5IOkqtl4dTq0tm5A_9_6">163,553</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total finance lease ROU assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;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_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="3" id="Tc_ZEfD2J0PnEmDPe-x0D0AJA_10_4">41,705</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;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_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseRightOfUseAsset" scale="3" id="Tc_L4ATGD0th0WryCxOWfXIBA_10_6">163,553</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;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.47%;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.95%;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:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;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.47%;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.95%;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:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Operating lease liabilities &#8211; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_A9KcC6nO7kmu483CrbOGjA_13_4">9,810</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_3wHnurw3e0KFQN0aHrU8jg_13_6">20,204</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Operating lease liabilities &#8211; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_QnhEta_zfU-evGhnwRT1wQ_14_4">25,714</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_DGG1y9MUi0KaLS_W9CdEbQ_14_6">116,846</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;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:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;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_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_MhSI7RlS80a694S79RfrDA_15_4">35,524</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;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_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_lCdlv7xjTUqTRzwwT_W8Iw_15_6">137,050</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;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.47%;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.95%;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:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Finance lease </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="-sec-ix-hidden:Hidden_MNxLZp-y0EmbJ8LQI9L-mA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other current liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" id="Tc_0KYid6GUX0qLGyYIwTkafQ_17_4">14,697</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" id="Tc_gMODHAQCJkiz566mtSwpxw_17_6">88,180</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Finance lease </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;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="-sec-ix-hidden:Hidden_zwemnGSU9Umlx71I-WTdxg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other non-current liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" id="Tc_PkL3rrNGmUWBPO423hAwEQ_18_4">14,372</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" id="Tc_e6kEDFDA202DkDQWlkfeQw_18_6">71,651</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total finance lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;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_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiability" scale="3" id="Tc_tZwcF_sgBE-AMu8RsI9jYw_19_4">29,069</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;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_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiability" scale="3" id="Tc_a2uS9DEgB0G9U6Rjj_dDpA_19_6">159,831</ix:nonFraction></p></td></tr></table></ix:nonNumeric><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></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-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, 2021, 2022 and 2023</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_tImIZM0cj0KHd-22v8USMw_1_2"></a><a id="Tc_X9Oqk5kSDUW5PcErUm0wCw_1_4"></a><a id="Tc_MLgfwbEtZ0SpvpApNc34Fw_2_2"></a><a id="Tc_N2ngOGWxuEuZ4Qn3seBktg_2_4"></a><a id="Tc_KzpuSPBWo02i6Z6PLfvWrQ_3_2"></a><a id="Tc_NuXrv-2bGECqVg1CpDwm9A_3_4"></a><a id="Tc_7iuTV4Jgfk-vpigSsA2v8g_4_0"></a><a id="Tc_ReSCHwyLFUurGqHMdzTVsw_5_0"></a><a id="Tc_8ynW7OQ_CkqEmuJledfR0A_6_0"></a><a id="Tc_iqxuROzCCkq6f4PH-OzFEg_7_0"></a><a id="Tc_uXmI7XrbCU-Vf1r3uCDswQ_8_0"></a><a id="Tc_qCRXZJTGzUWHqoNB4xcnQQ_8_2"></a><a id="Tc_M24F4ISm9069e93X_12K7w_9_0"></a><a id="Tc_4--pyVOuhUyetZ9x8M4RAQ_10_0"></a><a id="Tc_DRdoXYKAekqwPouWRrXDJA_1_2"></a><a id="Tc_GOvw2a8E6EiLsnuC_2pl0Q_1_4"></a><a id="Tc_AfH-PU3vqUW4_wkVRylLvQ_2_2"></a><a id="Tc_qt3LhGcSTkqM-q4q1ue-Ww_2_4"></a><a id="Tc_EihJwgUQ1ke2lRar7rSj9g_3_0"></a><a id="Tc_9yH7J_faWE201RNBbKwbQQ_4_0"></a><a id="Tc_9skw1Vmm9EWJCMWU89SD3w_5_0"></a><a id="Tc_VWDAVaxLYEuwxX7Cbv645g_5_3"></a><a id="Tc_rFbj1NPfb0CjCjH4Xguhzw_5_5"></a><a id="Tc_8kteB_AeLkKZUM8phb64Bg_6_0"></a><a id="Tc_7ko7PdSMpkWhS7sgiB9rcA_6_3"></a><a id="Tc_BtFMyO4ukUKsU94TyNLEwA_6_5"></a><a id="Tc_NeFo06ONRkmPSB_UD6w-1Q_1_2"></a><a id="Tc_ckky66XXzUyeJiTQtDa2tw_1_4"></a><a id="Tc_Y5ox0xE6_UqfJyXg8RSs3g_1_6"></a><a id="Tc_Dn6BugNIEUew84cFiOad5g_2_2"></a><a id="Tc_7FFYqTHizkaRD703CnPOSA_2_4"></a><a id="Tc_AvTU4mobQE246WxUhtAbHA_2_6"></a><a id="Tc_OuHgFN6KckOEQ5okT7dRTg_3_2"></a><a id="Tc_QSQdcbmzqkWMh8WndL79Kw_3_4"></a><a id="Tc_FkODwn5mJ0WrW0UZP2Tjgw_3_6"></a><a id="Tc_kWf5jAIc6UmQK1DCyFszyQ_4_0"></a><a id="Tc_rXjJvZb1Yk6sMeRS3_3cBA_5_0"></a><a id="Tc_pfXDNC_Q1EqZLAILzj22-Q_6_0"></a><a id="Tc_MW-JHdiYakGcJ9ACv09zwg_7_0"></a><a id="Tc_TH5V3fclzEyA3KrGFthJ1g_8_0"></a><a id="Tc_wXNl2QSXcEeGbXpMoBioJw_9_0"></a><a id="Tc_QOVmR2cUrkOAAq5p3PY0GQ_10_0"></a><a id="Tc_ZYM4c2a_bkuUV8wxcPOr5Q_11_0"></a><a id="Tc_J5a3ngEeAkuRnUbF30SDLg_12_0"></a><a id="Tc_4sWkcIfNNkChq0mM2dFwoA_13_0"></a><a id="Tc_aZKUNyVg3UKTr453JAxUlw_15_0"></a><ix:continuation id="Tb_7LZdFxrX7kO-YF1uJKrFpA_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">12. LEASE (Continued)</b></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><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" id="Group_5WwrjNvzX06fAAaHj1X2nQ" continuedAt="Group_5WwrjNvzX06fAAaHj1X2nQ_2" 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;2022</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;2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestPaymentOnLiability" scale="3" id="Tc_Z9ay95nk8kW7Cx9SBiVlbQ_5_2">1,994</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseInterestPaymentOnLiability" scale="3" id="Tc_wMP6fMKJQU-BaJPuJF1yQw_5_4">5,368</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="3" id="Tc_MOeknzKWl06JQOUl-VHeeA_6_2">15,032</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="3" id="Tc_07b6wr1SlEeh71Il2veXdg_6_4">19,686</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForFinancingCashFlowsFromFinanceLease" sign="-" scale="3" id="Tc_-fbKK_pdUEmFfFqroqhMxw_7_2">20,194</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForFinancingCashFlowsFromFinanceLease" sign="-" scale="3" id="Tc_v-4Trmne1kCOW77Vaz3ksw_7_4">42,319</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;"> &#8212;</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="Tc_8fsh71Gto0qSTzbKk53IKQ_8_4">167,726</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;">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" scale="3" id="Tc_FcBvhJoN10aJJB7V2rxGbg_9_2">14,393</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" scale="3" id="Tc_9BLZFAezDUqDBn6rUFUnhQ_9_4">119,412</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" sign="-" scale="3" id="Tc_S357jg6dQUmNPBq5FvE6zw_10_2">965</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" sign="-" scale="3" id="Tc_utlo9rDTFEKN8UmttuUe1Q_10_4">3,288</ix:nonFraction>)</p></td></tr></table></ix:nonNumeric><ix:continuation id="Group_5WwrjNvzX06fAAaHj1X2nQ_2"><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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:12.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.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:12.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: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: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;">2022</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;">2023</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_2022_A2twcnBm8kC3AmTDPN1jQA" format="ixt-sec:duryear" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_sP4LX5DrdEakAYk6kPuKYg_3_2"> 1.8</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_2023_M_Twd9lLf0S_tvv4E2OYWA" format="ixt-sec:duryear" name="us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_kSO0oDQIdkG4wNAVD2GYuw_3_4"> 4.0</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_2022_A2twcnBm8kC3AmTDPN1jQA" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_Tqj2IFkcAEK8D-1OxM1b8A_4_2"> 6.6</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_2023_M_Twd9lLf0S_tvv4E2OYWA" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_bOr7NsZ9_0GcZo-xnd-giA_4_4"> 14.4</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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_7ANiIYI9LUO07VvzPo6Gyg_5_2">4.9</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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_0ici_Gk340G0hBrmMr5oTQ_5_4">5.5</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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_S6_OtHOgrkmIOwLwIAGRZg_6_2">10.4</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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_oObVz1cqEkKw21uKlJO3vw_6_4">5.7</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></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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">As of December 31, 2023, maturities of operating and finance lease liabilities were as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="Tb_0UFOY-CWNkGAwIqRTYiwSQ" 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.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: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: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.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: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.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:11.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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;"><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.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: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.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:11.72%;margin:0pt;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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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;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.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: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.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:11.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;">Payment</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.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-family:'Calibri','Helvetica','sans-serif';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;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.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: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.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:11.72%;margin:0pt;padding:0pt;"><p 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.95%;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.15%;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.15%;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.15%;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.72%;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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">2024</p></td><td style="vertical-align:bottom;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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_pVVcTc6JK0auj1esHU6sig_5_2">24,927</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_ipn7uPUycUeobmKHuYrGrg_5_4">95,023</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:11.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_o3Ix-NX8hESVamxWhB2RrQ_5_6">119,950</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" id="Tc_s6V8XFzAyU6-dNP_1fk_VQ_6_2">18,322</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo" scale="3" id="Tc_3Aa7sP5RIkKDfXZhEHlwkQ_6_4">30,972</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:11.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearTwo" scale="3" id="Tc_Ltwl2LzAp0CE8QNMa8-2Yg_6_6">49,294</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" id="Tc_-BcSO-v-hkWfdvK1I1lvHw_7_2">15,952</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree" scale="3" id="Tc_uap9hJbVekele9PPQyDjOA_7_4">17,411</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:11.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearThree" scale="3" id="Tc_C5MKK9oibE-pRnHzn96DfQ_7_6">33,363</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" id="Tc_qS-UcQEUrUOzf_C_c2jCLQ_8_2">12,351</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour" scale="3" id="Tc_FuihRmhm1EampdTaX7PRTA_8_4">16,586</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:11.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearFour" scale="3" id="Tc_WD7WbWqO00W0iimw3PDHQg_8_6">28,937</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" scale="3" id="Tc_zlCFln9Q4U-Ppc0fXhOg_g_9_2">13,655</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive" scale="3" id="Tc_I11qwJuvIUuWPk7Wk-PBog_9_4">15,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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueYearFive" scale="3" id="Tc_PGKMzra_2EWUq6G4R2dNTw_9_6">28,997</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" scale="3" id="Tc_Qr8kLHThnUmpszOBeHxaNw_10_2">132,225</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive" scale="3" id="Tc_oBC5SsdJfU6a8p6nJ31psA_10_4">3,962</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:11.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDueAfterYearFive" scale="3" id="Tc_KjJAFsD1Ck6anM99C_Fq-g_10_6">136,187</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" id="Tc_97YSherAV0-KKnbtpQrbbQ_11_2">217,432</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityPaymentsDue" scale="3" id="Tc_ZsVl49uTY0ahC-lz1rLQoQ_11_4">179,296</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:11.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityPaymentsDue" scale="3" id="Tc_8oYUWgoink2JhamslyHb5A_11_6">396,728</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="Tc_p4LC0YUCC0u9LI2ifV0s3A_12_2">80,382</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount" scale="3" id="Tc_xM2G7j4OfEaD8OmB8Z5wKA_12_4">19,465</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:11.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LesseeLiabilityUndiscountedExcessAmount" scale="3" id="Tc_6C1-wUKA2kWnnUDzG3Bf9w_12_6">99,847</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_Va2e_n_Wyk23nuJEAxreew_13_2">137,050</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiability" scale="3" id="Tc_KvQ1g0DSXEa5WEUEN2WucQ_13_4">159,831</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:11.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiability" scale="3" id="Tc_ab13H3eIWEKB4qjXXNwCxQ_13_6">296,881</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.95%;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.15%;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.15%;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.15%;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.72%;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.95%;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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;margin:0pt;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.95%;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_DV0EnETE_k6B9hwOD-MLjw;"><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.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_nvX5qg1Ht0SbwC-QSp0yjg_16_2">20,204</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityCurrent" scale="3" id="Tc_oYoNnjZDPkesXCn-RcF-Dw_16_4">88,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:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiabilityCurrent" scale="3" id="Tc_2ovva_j23kipR6AR4V5Acw_16_6">108,384</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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_YdZatWwHLE-nl8BHqrfpoA;"><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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_C9oPnmbYikCaMdh_hhQzKg_17_2">116,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiabilityNoncurrent" scale="3" id="Tc_q1EfSaOBxU6VBg9tSX2cnw_17_4">71,651</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:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiabilityNoncurrent" scale="3" id="Tc_ZKpoZSrhI0uH9l_o1BE5-Q_17_6">188,497</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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_aFecZba9I0qz7Gedq7yDLw;"><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.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_tdYL2uuso0i7xkioanRncA_18_2">137,050</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinanceLeaseLiability" scale="3" id="Tc_ErDuy7u_gEy43rfjODqvog_18_4">159,831</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:11.72%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LeaseLiability" scale="3" id="Tc_zb_tfFV2TE2sMgSfA6Oqcw_18_6">296,881</ix:nonFraction></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></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:1pt;visibility:hidden;background:#ffff00;">&#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;"><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-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, 2021, 2022 and 2023</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_59SC4kRRgkSxSrQAkQFEig_1_2"></a><a id="Tc_F3waOwxHXEWnz_O9B_QAig_1_4"></a><a id="Tc_2MoygDEutk2AjOcLzI5-2w_2_2"></a><a id="Tc_gjcMohKd7UW8XMN4H1to4Q_2_4"></a><a id="Tc_Ys4juto8qkGamXAMZO116g_3_2"></a><a id="Tc_t5HxvfmMt0ePTL35vAi8Mg_3_4"></a><a id="Tc_6rNvW0GZEkqfIDA8QYXEOw_4_0"></a><a id="Tc_yPS6qaFwHUCALxHJaw-dCw_5_0"></a><a id="Tc_1AYiGVtqhkafDY_E9QU3xA_6_0"></a><a id="Tc_igk7LCrGQEyv2FuuTWWemg_7_0"></a><a id="Tc_SoD2kSrz90aS_53s1UA0AQ_8_0"></a><a id="Tc_pr88kKMxFUC6zlGn53NspA_9_0"></a><a id="Tc_bmVKr-BD9E-yxW_YAl9n8Q_10_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:DebtDisclosureTextBlock" id="Tb_8aGpTt3pb060GnnDQ4uZpg" continuedAt="Tb_8aGpTt3pb060GnnDQ4uZpg_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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfDebtTableTextBlock" id="Tb_GjFAZuBGjkiJOcTc7wFk0A" 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.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.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: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.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: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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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.85%;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><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;"><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;">2023</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;font-weight:bold;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;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.93%;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.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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermBorrowingsOnProjectAssets" scale="3" id="Tc_1rvirHNiQU6KfbbAMEotUA_4_2">333,521</ix:nonFraction></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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermBorrowingsOnProjectAssets" scale="3" id="Tc_GDyLFSE1XEKWnmornybzTA_4_4">291,982</ix:nonFraction></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 0pt 0pt 6pt;">Other short-term borrowings </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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherShortTermBorrowings" scale="3" id="Tc_cDGbBnCwrUiEQaO5lAe3kw_5_2">1,110,295</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherShortTermBorrowings" scale="3" id="Tc_4Ok96j5iJE-d6Sgobe5Ogg_5_4">1,513,216</ix:nonFraction></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 0pt 0pt 6pt;">Subtotal for short-term borrowings</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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtCurrent" scale="3" id="Tc_HDXMKkSsqkCcDFbQDSEy7Q_6_2">1,443,816</ix:nonFraction></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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtCurrent" scale="3" id="Tc_9V2JBMaWlUiTwiTBpMEocA_6_4">1,805,198</ix:nonFraction></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 0pt 0pt 6pt;">Long-term borrowings related to project assets</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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LongTermBorrowingsOnProjectAssets" scale="3" id="Tc_Ierld0XU1kqFJnqMqUfaQg_7_2">318,987</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LongTermBorrowingsOnProjectAssets" scale="3" id="Tc_uRKovIpSWk-jeD9BCtANUA_7_4">450,455</ix:nonFraction></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 0pt 0pt 6pt;">Other long-term borrowings</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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLongTermDebt" scale="3" id="Tc_gr44MxP17E-qJYxHQVt3hQ_8_2">494,419</ix:nonFraction></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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLongTermDebt" scale="3" id="Tc_n0IEjb1CgUi8bQNfzUdtYQ_8_4">815,510</ix:nonFraction></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 0pt 0pt 6pt;">Subtotal for long-term borrowings</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_OqwlfLfmJUKI5iNUBO14Ig_9_2">813,406</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermNotesAndLoans" scale="3" id="Tc_EmUEjuZ0OEWJAxK27YlYEQ_9_4">1,265,965</ix:nonFraction></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;">Total</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;"> <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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Tc_Ex7qvffZpUO8nek7T4fxiA_10_2">2,257,222</ix:nonFraction></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;"> <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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Tc_XH0UjQCDu0CWoxJ2URQy2A_10_4">3,071,163</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 power and battery energy storage assets that are expected to be sold within one year.</span></ix:footnote></td></tr></table><div style="margin-top:12pt;"></div></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Total borrowings was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_pdjhLpLn00WhkriDSftrOA">3,071,163</ix:nonFraction> as of December 31, 2023, including $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_CVoCoEsnhkC6IwcHtuCxIQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_C484WRcjbkOs5WNLJ8g_qQ">1,702,785</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_okNBXsarzESDm9kXSKoiEQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_jPMSz8sAcUqmrJfkwmlgeQ">1,368,378</ix:nonFraction> related to CSI Solar and Recurrent Energy, respectively. In addition, the Company had $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_us-gaap_DebtInstrumentAxis_csiq_GreenBondsMember_u0GjDExkm0aLxt5GaFA_zA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_w8jNXRmKx06RG8GbK56NJg">161,609</ix:nonFraction> of green bonds related to Recurrent Energy and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_DebtInstrumentAxis_csiq_GreenBondsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_axZlLE3gKUCwZBX_Iick2Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_C8yecf7Ua0i1VQo-DQ2VhA">227,424</ix:nonFraction> of convertible notes as of December 31, 2023. Total borrowings was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_Es1bKdjhWkKR-OkS4wsNOA">2,257,222</ix:nonFraction> as of December 31, 2022, including $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_7PI-qqgn1kS9IlzJTddYfQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_d524a_ZmXku4nResMu1neg">1,200,582</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_jVWbxUaeZUq7ZAFJM3HOqQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_-8jKemFwyEKFVAEV5_uF3Q">1,056,640</ix:nonFraction> related to CSI Solar and Recurrent Energy, respectively. In addition, the Company had $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_us-gaap_DebtInstrumentAxis_csiq_GreenBondsMember_qhjx5VrD4kSXGHQnCNZXRg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_Gzm7hosE0EiI6ckWDxZ0fw">31,638</ix:nonFraction> of green bonds and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_GreenBondsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Zo7E0rHuqkGjUQofu2R2_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_nxKmKQ6D6UujbJCrBUswzA">225,977</ix:nonFraction> of convertible notes as of December 31, 2022. Refer to Note 17 for further details of the Company&#8217;s convertible notes.</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, 2023, the Company had contractual credit facilities of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_eo_R8EAmhE-_cdVsanE2YQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr__evQOfJVOEmalw58gmGVxw">5,254,518</ix:nonFraction>, of which $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_eo_R8EAmhE-_cdVsanE2YQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_lRHb1dZ_A0-W8eROjrzhng">2,162,501</ix:nonFraction> has been drawn under borrowings and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_eo_R8EAmhE-_cdVsanE2YQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:AdditionalAmountDrawnOfUnderBorrowing" scale="3" id="Narr_ebDxF4OcREmFsxIgMB0DvA">366,197</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_eo_R8EAmhE-_cdVsanE2YQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="3" id="Narr_bRgNXtU-zUShX4N6-lxRhw">2,725,820</ix:nonFraction> was available for draw down upon demand. In addition, as of December 31, 2023, the Company also had uncommitted credit facilities of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_-Wvdb1Ab7U23LQhVA6rH3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_z91We_bzvkuJMkBtJpeOjA">2,587,712</ix:nonFraction>, of which $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_zomsJJ-EOESxGYJtxFWrbw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" id="Narr_mYjIXhf570qScIgkzMWQUQ">901,519</ix:nonFraction> has been drawn under borrowings and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_csiq_ShortTermNotePayableMember_Oxf8e0c5FUWCs58BHWcYfA" decimals="-3" format="ixt:numdotdecimal" name="csiq:AdditionalAmountDrawnOfUnderBorrowing" scale="3" id="Narr_o7mv-NqMH0KCiGRtb4jSAA">411,160</ix:nonFraction> under arrangements with banks including bank guarantees, letters of credit and short-term notes payable. As of December 31, 2023, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_XFvq5O6dCkOYwjN9gqLP9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCredit" scale="3" id="Narr_uDF76WjDlEqoyy9yoyJxCg">374,840</ix:nonFraction> of the Company&#8217;s borrowings under its Recurrent 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 12pt 0pt;">The lenders under the Company&#8217;s non-recourse facilities generally require the pledge of underlying solar power and battery energy storage assets 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 12pt 0pt;">As of December 31, 2023, borrowings of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SecuredDebt" scale="3" id="Narr_1hiSZewDuUas9QAo_HDSfg">1,647,038</ix:nonFraction> were secured by property, plant and equipment with carrying amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_M6s1YAAR3kKFA7gGiV-J_A" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" scale="3" id="Narr_eeBh0yzS-E2gn5WEBFFyNg">414,195</ix:nonFraction>, inventories of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_M6s1YAAR3kKFA7gGiV-J_A" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedInventory" scale="3" id="Narr_pbs72O0hx0eQeZsOhbGmrw">1,763</ix:nonFraction>, land use rights of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_M6s1YAAR3kKFA7gGiV-J_A" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedLandUseRights" scale="3" id="Narr_3q4qpVOQRk6CoxAVBwVlCA">55,976</ix:nonFraction>, restricted cash of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_uk4o6lKmj02ozxzK0NIeZA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedRestrictedCash" scale="3" id="Narr_gHToqkDo_06ZrNSqIbUYmQ">462,959</ix:nonFraction>, accounts receivable of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_uk4o6lKmj02ozxzK0NIeZA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedAccountsReceivable" scale="3" id="Narr__7rWqUcfUUOfPJ3G5AJ-BA">28,237</ix:nonFraction>, equity interest of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_uk4o6lKmj02ozxzK0NIeZA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedEquityNotSeparatelyReported" scale="3" id="Narr_f-cBY2ChdUKUSyMIwi3HPw">367,354</ix:nonFraction>, project assets of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_uk4o6lKmj02ozxzK0NIeZA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsNotSeparatelyReportedProjectAssets" scale="3" id="Narr_f3WzO6y13kiUSDyCb2PQXg">233,740</ix:nonFraction> and solar power systems of&#160;$<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_uk4o6lKmj02ozxzK0NIeZA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PledgedAssetsSolarPowerSystems" scale="3" id="Narr_l_o1-XghK0WflEfMjh6rvA">609,201</ix:nonFraction>. These borrowings were recorded as short-term borrowings of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:SecuredShortTermDebt" scale="3" id="Narr_OLGZZIiNK0eEv-f7XROB8Q">690,215</ix:nonFraction>, non-recourse borrowings - current of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_XFvq5O6dCkOYwjN9gqLP9A" decimals="-3" format="ixt:numdotdecimal" name="csiq:SecuredShortTermDebt" scale="3" id="Narr_Rqvln_TMD0Gf6P1H3mxv9Q">146,869</ix:nonFraction>, long-term borrowings of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SecuredLongTermDebt" scale="3" id="Narr_ck0eGbw2ykunX1HGB2goIQ">581,983</ix:nonFraction> and non-recourse borrowings of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_XFvq5O6dCkOYwjN9gqLP9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SecuredLongTermDebt" scale="3" id="Narr_70Yc5EJ4UECld2QDurQU5Q">227,971</ix:nonFraction>.</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 significant borrowings during the years ended December 31, 2022 and 2023 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_zwVrSaUchUuhI2lWFeWjew" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_d_Fk5CAWg06K6kWd31RjGg">three-year</ix:nonNumeric> loan facility of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw" contextRef="As_Of_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_5CgaAnljNEi2pv_ZjWn98w" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_7opjL97eWE2vjwY60U6VpA">9,600,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_5CgaAnljNEi2pv_ZjWn98w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_NHJoHgij5Ui3w0R8NfRySQ">85,200</ix:nonFraction>) with Sumitomo Mitsui Banking Corporation (&#8220;SMBC&#8221;), acting as the lead arranger and <ix:nonFraction unitRef="Unit_Standard_Institution_k-1ftVqRb0S-PWM8uebl7w" contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_zwVrSaUchUuhI2lWFeWjew" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfOtherParticipatingFinancialInstitutions" scale="0" id="Narr__WNIj6i6lUS-zfn4SGQaqw">13</ix:nonFraction> other participating financial institutions. 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_k-1ftVqRb0S-PWM8uebl7w" contextRef="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_EZTyzWkHMUKcmRQ0Lou2Bg" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfOtherParticipatingFinancialInstitutions" scale="0" id="Narr_F0siU4IDx0KMNdpbuxC-Mw">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_EZTyzWkHMUKcmRQ0Lou2Bg" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_372eCIeYnkGsCDSXsv2F9A">two years</ix:nonNumeric> and a facility amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw" contextRef="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Nc3y2mC1-kCStgx7enKmbg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_CGtwXWejfE-dOsRqJw1YEw">9,100,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Nc3y2mC1-kCStgx7enKmbg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_X1BTlECpC0ybrazGJySdiw">88,200</ix:nonFraction>). In 2021, the subsidiary further expanded the facility to JPY<ix:nonFraction unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw" contextRef="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_W8cXFnCrLUSskDihwt6gZA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_fJJm7EUjO0Of-9JJ9uP-OQ">10,000,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_W8cXFnCrLUSskDihwt6gZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_wN2PcWG_Bk24uHk0-pnn3g">89,859</ix:nonFraction>) for a term of <ix:nonNumeric contextRef="Duration_9_1_2021_To_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_7g8VmQKD10aBzxq2SEwMRg" format="ixt-sec:durwordsen" name="us-gaap:DebtInstrumentTerm" id="Narr_hoJB0UVMeUit5IWYpa30Wg">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_TcYOuYR7EE6xBuD1AZMBnw" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_cAX3vRa5mkqHl0uIoSesNg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_HypCz6wMpk-1xiPsrGvZvA">7,500,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_8i-7BNlxsk2_z7rFZeX0fw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_Ok68PwdwKkyuGqFnpVUMFQ">57,198</ix:nonFraction>) guaranteed by the Company and tranche 2 loan facility of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche2LoanFacilityMember_wtGuDs-0_U2WWdGXhyMfZQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_LAWiAIoLDE6_DVrzCmOjpQ">2,500,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_Tranche2LoanFacilityMember_V0xrEsypfU2Ncghqf-4qMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_YL45IfX9EESgUpVLVvPT2Q">19,066</ix:nonFraction>) secured by a pledge of equity interest in CSIF. In 2023, the subsidiary amended the tranche 1 loan facility to JPY<ix:nonFraction unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_2lX6u_dO1ECFu2ZeMUvUAg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_iW5yh4Gak0WRDqpqQQAnyg">6,250,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_2lX6u_dO1ECFu2ZeMUvUAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_u10OROVfCk-fJxosX2QkJw">44,317</ix:nonFraction>), with maturity unchanged at September 2024. As of December 31, 2023, both tranche 1 and tranche 2 loan facility was fully drawn.</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-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, 2021, 2022 and 2023</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_8aGpTt3pb060GnnDQ4uZpg_cont1" continuedAt="Tb_8aGpTt3pb060GnnDQ4uZpg_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;">In 2020, Recurrent Energy, LLC (&#8220;Recurrent&#8221;) executed a $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2020_e4l9AB3P7Ue0Md5J7y_79A" decimals="-3" format="ixt:numdotdecimal" name="csiq:AmountOfDevelopmentLoan" scale="3" id="Narr_-jK3VjGIY0KfLf6kY7j2-Q">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:TotalAmountOfMatures" scale="3" id="Narr_GMLjfXRvmUK8Bqx89fBzmg">125,000</ix:nonFraction> and and was set to mature in December 2023. In November 2023, the maturity of syndicated facility was extended for another two years to November 2025. The outstanding credit facility is secured by certain project assets in the U.S., and is guaranteed by the Company. As of December 31, 2023, the loan was fully drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, Azuma Kofuji Daiichi Hatsudensho G.K. obtained a JPY<ix:nonFraction unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_rAdiZhMFzU-vrK6pRf9UJw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_iYbEoHk9t0-0zz5k1wk6Lw">24,513,530</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_rAdiZhMFzU-vrK6pRf9UJw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_H7YiKJCBT0iHNGg-tn5a3A">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 loan, secured by the project, was assumed by a buyer in connection with the sale of the project in May 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, Sunmex Renovables, S.A. De C.V., a 51% owned subsidiary, obtained a $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_SunmexRenovablesS.a.DeC.v.Member_us-gaap_DebtInstrumentAxis_csiq_LoanFacilityMember_kMjhAvAFhU-NPCficyfxOA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_F615lVaRmEWDVOzQ69Q-2A">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, 2023, the outstanding balance was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_SunmexRenovablesS.a.DeC.v.Member_us-gaap_DebtInstrumentAxis_csiq_LoanFacilityMember_QkCCSXmP-0m3KBXrOz7oEg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_O1icPF1jT0SaOmiIl4mgTg">25,584</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 12pt 0pt;">In 2021, Canadian Solar Spain S.L.U obtained a &#8364;<ix:nonFraction unitRef="Unit_Standard_EUR_17HFMf2lRk6XTW8-h5eE6A" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_YYZO6HJRkkmcQ3Tjv-bKEw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_3RMu4z0DmUmbkkSSJmrE8A">50,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_YYZO6HJRkkmcQ3Tjv-bKEw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_oTVpZ4y7QEeC6bREqRLO1Q">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_17HFMf2lRk6XTW8-h5eE6A" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_us-gaap_CreditFacilityAxis_csiq_TermLoanMember_NHfJgJqoyEeTAZE02kWDNQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_EGTLyB9l4UW9w8ZAscUTJQ">25,000</ix:nonFraction> and a revolving credit facility of &#8364;<ix:nonFraction unitRef="Unit_Standard_EUR_17HFMf2lRk6XTW8-h5eE6A" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_X5qEZraBukWWZDk-E4I0qA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_EdWCxqaN_0ONmchYc3AfGA">25,000</ix:nonFraction>, and is guaranteed by the Company. In 2022, the subsidiary obtained additional term loan facility of &#8364;<ix:nonFraction unitRef="Unit_Standard_EUR_17HFMf2lRk6XTW8-h5eE6A" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_2M31FX89B0mP07p6WW8W2A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_93koY5qiQ0qH6g49X6-OOA">45,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_2M31FX89B0mP07p6WW8W2A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_-N7RciIBrEyTIZxCYdxuzQ">48,309</ix:nonFraction>). The facility will mature in May 2024. As of December 31, 2023, the two term loan facilities were fully drawn and the outstanding balance on the revolving credit facility was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_YYZO6HJRkkmcQ3Tjv-bKEw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_KG0zgUDZzUa3gLUIy9OgMw">27,429</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, eight Brazilian subsidiaries obtained a BRL<ix:nonFraction unitRef="Unit_Standard_BRL_qQhbsbkMjECqnYnobxloxg" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_2RdFhDhu80yScV5qB5-opQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_u5nkpEdR-0e4oMf8QICfIA">500,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_2RdFhDhu80yScV5qB5-opQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_2q3e4MgHSUiegoZqnKRP0A">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 was set to mature in December 2023. In 2023, the maturity of the facility was extended to December 2024. In 2023, two of these subsidiaries received BRL<ix:nonFraction unitRef="Unit_Standard_BRL_qQhbsbkMjECqnYnobxloxg" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_oQTOORoImkarR8rvOi0s7g" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_cppxsiG1Xk-tXoqwiA0vYw">490,934</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectBondsMember_hFLs8lQAiEqH1k9pwi-egw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_tlIANmKAM0yhwII5SfSo6g">101,213</ix:nonFraction>) of non - recourse project financing for the 300MWp Ciranda project portfolio, consisting of BRL<ix:nonFraction unitRef="Unit_Standard_BRL_qQhbsbkMjECqnYnobxloxg" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectBondsMember_hFLs8lQAiEqH1k9pwi-egw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_-fUNdrds-UGI_z2sdVGREQ">285,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_oQTOORoImkarR8rvOi0s7g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_V16qbTgiq02RPlY7306L-g">60,292</ix:nonFraction>) non - recourse project bonds issued in a private placement with investment funds managed by Vinci Partners for Ciranda Phase I, and a BRL<ix:nonFraction unitRef="Unit_Standard_BRL_qQhbsbkMjECqnYnobxloxg" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectFinanceFacilityMember_YJC02rU4mEKqe9_O9ufXpQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_oKdqpVufoUiKWkNMVvmP3A">205,934</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectFinanceFacilityMember_YJC02rU4mEKqe9_O9ufXpQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_94y7_3mfokWjGJrq3Ns64g">40,921</ix:nonFraction>) non - recourse project finance facility with Banco Nacional de Desenvolvimento Econ&#244;mico e Social (&#8220;BNDES&#8221;) for Ciranda Phase II. Both the project bonds and project finance facility are secured by the project assets, with maturities set for 2041 and 2047, respectively. As of December 31, 2023, the outstanding balance on the development and construction facility was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_oQTOORoImkarR8rvOi0s7g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr__NP_18_nsUOGAuUFHZIYcw">95,724</ix:nonFraction>, the outstanding balance on the project bonds was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectBondsMember_ovDUzUF5qkmEfIgLd_YlBw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_HnXLCdthbkOhkGjubxJmTw">60,909</ix:nonFraction>, and the outstanding balance on the project finance facility was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectBondsMember_hFLs8lQAiEqH1k9pwi-egw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtLongtermAndShorttermCombinedAmount" scale="3" id="Narr_vIbkJ0kud0WV4FhN3PO1sg">41,024</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March 2023, Canadian Solar Netherlands Cooperative U.A. secured a $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_3_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_fhk0-37ZiE2mxtw2qQdC8Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_96N7PDiQuE2QxXJjhFVDQg">100,000</ix:nonFraction> credit facility with Nomura Securities International, Inc., The facility will mature in March 2025 and is guaranteed by the Company. As of December 31, 2023, the loan was fully drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In June 2023, Canadian Solar Netherlands Cooperative U.A. secured two credit facilities, comprising a &#8364;<ix:nonFraction unitRef="Unit_Standard_EUR_17HFMf2lRk6XTW8-h5eE6A" contextRef="As_Of_6_30_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_nPMUMkuggE-H7qQ6x97iTw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_4qiLjOgBO0qqEYLijPWhBA">30,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_6_30_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_nPMUMkuggE-H7qQ6x97iTw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_lozR9yEcKE-PC5Su3JuDtA">32,736</ix:nonFraction>) and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_6_30_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_us-gaap_CreditFacilityAxis_csiq_TermLoanFacilityTwoMember_IuTMt0Pxy0y4asFtqeg3gQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_DAAZ5sCivkus745l69_tIA">20,000</ix:nonFraction> term loan facility, and a $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_6_30_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_F-a7Mqki00K48eGJ1cQX1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_Rw42LhjnsU6Q1MiVCSJaEw">110,500</ix:nonFraction> revolving credit facility with Santander Corporate &amp; Investment Banking (&#8220;Santander CIB&#8221;). The two facilities will mature in June 2026 and are guaranteed by the Company. As of December 31, 2023, the term loans and the revolving credit facility were fully drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In October 2023, AURORA 01 GK issued JPY<ix:nonFraction unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw" contextRef="As_Of_10_31_2023_dei_LegalEntityAxis_csiq_Aurora01GkMember_VUqKQQJMRU-4j_WGN0QFPQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_NfTS4i6hCkOe-2wziWbwGQ">18,500,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_10_31_2023_dei_LegalEntityAxis_csiq_Aurora01GkMember_VUqKQQJMRU-4j_WGN0QFPQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_jRTLcv_P50OU5HiXO3A1lQ">121,958</ix:nonFraction>) green bonds to finance development and construction costs of Recurrent projects globally. The bonds will mature in September 2026 and is guaranteed by the Company. As of December 31, 2023, the carrying value net of unamortized issuance costs of the green bonds was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_Aurora01GkMember_2f3i4w2IukiepaWFkshaQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Narr_s-v-r9xWZUuJQvRCAX2RpA">128,818</ix:nonFraction>, and was included as a component of green bonds and convertible notes on the consolidated balance sheet.</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-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, 2021, 2022 and 2023</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_rpMQMlUoSUqZ7LQR4m9xnQ_1_0"></a><a id="Tc_ui6vmUvb0UuK6t1GYdyWcA_1_2"></a><a id="Tc_IJpNNnuf9EWqcwJ0AX-bpw_2_0"></a><a id="Tc_LeiKdz-QNkmbOutQ0ZMjnQ_3_0"></a><a id="Tc_ht14UpqDWkuGUgJ0WXDRkw_4_0"></a><a id="Tc_4ZhU0BUIlU6tAoOedjEx9g_5_0"></a><a id="Tc_7BqI7-UvZUKlQrjVOx0KMw_6_0"></a><a id="Tc_CtT2CvxLcEm6WfEMXs4IZA_7_0"></a><a id="Tc_DChBtbOVAka4L7iGgPOX-w_7_2"></a><ix:continuation id="Tb_8aGpTt3pb060GnnDQ4uZpg_cont2" continuedAt="Tb_8aGpTt3pb060GnnDQ4uZpg_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">13. BORROWINGS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2023, Canadian Solar Sunenergy (Jiaxing) Co. Ltd. entered into credit facilities in the aggregate of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_bATzA2AvB0OoT2-X7O5GZA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_SWUhSGOmoUqJsp-pkTfAUg">2,282,809</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_bATzA2AvB0OoT2-X7O5GZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_zJutyL72xkeEc-JU9e8awg">319,993</ix:nonFraction>) with various banks, and these credit facilities will mature through April 2030 by installments. Credit facilities of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_b9kTsD5L20SDduKjf5Auvw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_VZd-JZEDDk2_waKUV3oUag">1,869,600</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_b9kTsD5L20SDduKjf5Auvw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_8CvOLaRqnk-kYnQfikfoLQ">262,044</ix:nonFraction>) are unsecured and are guaranteed by CSI Solar, and the remaining RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_4C59bf2IMUOZzexUZTmhrw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_prt7dFu1lkuxmVPBa2wkaA">413,209</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_4C59bf2IMUOZzexUZTmhrw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_HV7V0FTAm0WFkc0rYaHK8Q">57,949</ix:nonFraction>) are secured by certain land use rights, property, plant and equipment and equity interest of Canadian Solar Sunenergy (Jiaxing) Co. Ltd., and are guaranteed by CSI Solar. As of December 31, 2023, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_i3FNawm9rUuWuEb_u-PGeA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" id="Narr_XCIJpowFnEWjotqm3RGmxg">165,231</ix:nonFraction> was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2023, CSI Cells (Suqian) Co., Ltd. entered into credit facilities in the aggregate of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_YKOdRPy7oky9nAOGxQJ8EA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_cGgQdql4Pka2_lfilyVloA">2,590,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_YKOdRPy7oky9nAOGxQJ8EA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_7SC9CQZ-PUOO3wSeN7aq0Q">375,229</ix:nonFraction>) with various banks, and these credit facilities will mature through September 2026 by installments. Credit facilities of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_us-gaap_CreditFacilityAxis_csiq_UnsecuredCreditFacilityMember_4w1iYQwKHk6bxcO9fDuslQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_uOy0vbnJLkm-Lm9n6yphuQ">90,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_us-gaap_CreditFacilityAxis_csiq_UnsecuredCreditFacilityMember_4w1iYQwKHk6bxcO9fDuslQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_g2JYfDmtnkSmaO8yN3w7rw">13,097</ix:nonFraction>) are unsecured and are guaranteed by CSI Solar, and the remaining RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_us-gaap_CreditFacilityAxis_csiq_SecuredCreditFacilityMember_drozSQ9cSUqHAtHA_OXiZQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_udgmM6kskU24CuKZZ817Hw">2,500,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_us-gaap_CreditFacilityAxis_csiq_SecuredCreditFacilityMember_drozSQ9cSUqHAtHA_OXiZQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_u5czJ99wyECKWzD2pvJCQA">362,132</ix:nonFraction>) are secured by certain property, plant and equipment and equity interest of CSI Cells (Suqian) Co., Ltd, and are guaranteed by CSI Solar. As of December 31, 2023, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_oi6E8usJbU2JheMoiCvhMg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfDebt" scale="3" id="Narr_6KTcYeMyzEKy7m2zKb9eUA">142,601</ix:nonFraction> was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2023, CSI Cells (Yangzhou) Co., Ltd. entered into credit facilities in the aggregate of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsYangzhouCoLtdMember_dQThxa_ee06k-9KzTqgHoA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_N4wxg-YfCU6WtwWMnq9muQ">1,900,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsYangzhouCoLtdMember_dQThxa_ee06k-9KzTqgHoA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_LObF3fiGKkG--CB-jUVPKA">263,132</ix:nonFraction>) with various banks, and these credit facilities will mature through August 2028 by installments. The credit facilities are secured by certain property, plant and equipment and equity interest of CSI Cells (Yangzhou) Co., Ltd., and are guaranteed by CSI Solar. As of December 31, 2023, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsYangzhouCoLtdMember_Y6E_6KJykUS6__byobaiuQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" id="Narr_sRGI0Y7B0kmPF4myebubLQ">66,350</ix:nonFraction> was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2023, CSI Solar Technology (Xining) Co., Ltd. entered into credit facilities in the aggregate of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_IGhGO1P77ESNupYjYTGudQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_fcfZigUmPkaVvtf3BTzQvA">2,038,947</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_WtEMom1VU0ybaJVNGpnOcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_aoO0gdQ9v0q_h5D9qNn8og">293,293</ix:nonFraction>) with various banks, and these credit facilities will mature through May 2028 by installments. Credit facilities of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_us-gaap_CreditFacilityAxis_csiq_UnsecuredCreditFacilityMember_7DwwkJ5v_Ui1ZFV3dE4NeA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_7ugWi3fujka9bolTZjnlyA">180,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_us-gaap_CreditFacilityAxis_csiq_UnsecuredCreditFacilityMember_7DwwkJ5v_Ui1ZFV3dE4NeA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_mnkfNx3jgUCtuW7hTwYhSA">25,761</ix:nonFraction>) are unsecured and are guaranteed by CSI Solar. The remaining RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_us-gaap_CreditFacilityAxis_csiq_SecuredCreditFacilityMember_JoyGSKg7t0qiDEYanX7Ciw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="0" id="Narr_r5wDn_5tWUaYWes2UXP7Iw">1,858,947</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_us-gaap_CreditFacilityAxis_csiq_SecuredCreditFacilityMember_JoyGSKg7t0qiDEYanX7Ciw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentFaceAmount" scale="3" id="Narr_UI9vvniAIUm-RNNUcHKuWw">267,532</ix:nonFraction>) are secured by certain property, plant and equipment and equity interest of CSI Solar Technology (Xining) Co., Ltd, and are guaranteed by CSI Solar. As of December 31, 2023, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_G_sof2vZREGGV7DP6-AnFA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" id="Narr_X8UKhlJBPES4sU44enb75g">113,415</ix:nonFraction> was drawn.</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, 2023, 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, 2021, 2022 and 2023, borrowings of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_eUa6xvCwXU-CWsyq9pyoLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherBorrowings" scale="3" id="Narr_9-D2cUFLUEKNhfaGRqPdXA">118,406</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_w8HLnwwTRU6XeCtrbN1bjw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherBorrowings" scale="3" id="Narr_6rx4hSMhYE6nzW6dvVfRXQ">193,578</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_B408tTvLqk2iUNgdW4cxkQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherBorrowings" scale="3" id="Narr_R8yOInKEIEu5eFWP78I_iQ">161,709</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 borrowings mentioned above bear effective floating interest rates from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_z19N_66-b0GNb2uuD1FCAg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtWeightedAverageInterestRateOverTime" scale="-2" id="Narr_b5u7IMNtlUKg_9MZ28Hj2A">1.2</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_uu3AUryx5kWUSPunxZnrUA" decimals="3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtWeightedAverageInterestRateOverTime" scale="-2" id="Narr_oDOVGmObrE6BakEPaYF7cg">16.8</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 are $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" scale="3" id="Narr_bSFDVh4FbEm-ivq5vBqJaQ">75,550</ix:nonFraction> of current portion of long-term borrowings, associated with certain solar power and battery energy storage assets that are expected to be sold within one year of December 31, 2023:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" id="Tb_MgWO4BrqDE-DU9lsLNANsQ" 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;">2024</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" scale="3" id="Tc_v95i8qrvHUOOPWIQz9COfg_1_3">1,805,198</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;">2025</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" scale="3" id="Tc_Iw7j6MzT1UyMIzUQWAmsFA_2_3">551,022</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;">2026</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" scale="3" id="Tc_cstP05sC-E-vbT7_XlQr8g_3_3">355,269</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;">2027</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" scale="3" id="Tc_DOGKmMbUgU2Dqgc3dasR7g_4_3">84,689</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;">2028</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" scale="3" id="Tc_thB2TTbeK0-9UPn3itFgFA_5_3">49,252</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" scale="3" id="Tc_rqn89I1FhUSAefpRmQFvuA_6_3">225,733</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LongTermDebt" scale="3" id="Tc_3NpT5KbmhU6A0a580Bk1Hw_7_3">3,071,163</ix:nonFraction></p></td></tr></table></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><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-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, 2021, 2022 and 2023</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_Xk_XDwpboEe6IpWfK3revw_1_2"></a><a id="Tc_NFzGalzb00CgqEKUYaY-JQ_1_4"></a><a id="Tc_Ep2suOIxBEeydE10CH97Sw_2_2"></a><a id="Tc_4QIM3-Mgc0yjq2lUPRbg1w_2_4"></a><a id="Tc_X-hCMTcHsU6svFJ9kkaPqw_3_0"></a><a id="Tc_S7tTiKEhKUKFdy2Bz7UxUg_3_3"></a><a id="Tc_scmfnBT7NEm928s8rS5AAA_3_5"></a><a id="Tc_E4tozcBhHkSeRBsU6HPhYQ_4_0"></a><a id="Tc_ugYAFbUyxEWMz4PdBF8O0Q_4_3"></a><a id="Tc_om1GAAIB7kePFry3uW115Q_4_5"></a><a id="Tc_1XE8LYOdfkSKB3qpW81GsA_1_2"></a><a id="Tc_Y6yIXNqpHE6LKdWzM9P3AA_2_2"></a><a id="Tc_-gk8euWUhkm9CHeWBD74Bw_2_4"></a><a id="Tc_Bu1Hc4G-yEKgXpwHOqU1ZQ_2_6"></a><a id="Tc_nv-jkJJVIk23VN7sjqGXjg_3_2"></a><a id="Tc_o_sEOHgZ_kKvuzd4u0oaRw_3_4"></a><a id="Tc_AvBQJqoAE0mv0MM8YJEIPw_3_6"></a><a id="Tc_VRRD0SMwPkCw7pR_B484UA_4_0"></a><a id="Tc_19j7qiQI50ixRxpK73PPuw_5_0"></a><a id="Tc_lZ02iJ3LmEu7DkoofdijNQ_5_2"></a><a id="Tc_V13K6chJ6ESFyJA6Na9hww_6_0"></a><a id="Tc_wAnLP2Emv06Y2CekpC9hzg_6_2"></a><a id="Tc_TO2aXdDwJke2R2-JHIR17Q_6_4"></a><a id="Tc_Rv5jQeXZ5U6I04xuAupuHQ_7_0"></a><a id="Tc_OmSGnwCuXUSjC4wCw3aljA_8_0"></a><ix:continuation id="Tb_8aGpTt3pb060GnnDQ4uZpg_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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;">Weighted average effective interest rates on borrowings are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ScheduleOfEffectiveInterestRatesTableTextBlock" id="Tb_ZRWglFw_qkWcNW7OICiXiA" 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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: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:11.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.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: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;">2022</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;">2023</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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_Ohwy9cg9J0avE8H3x9SJwQ" decimals="3" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_yfz29wq8O0uI56b-YtPmDw_3_2">5.3</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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_TS9t0JMkrkKqR7Y0xMtsXw" decimals="3" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_m5BTkWH9l0mZXo53IQ4eWg_3_4">3.8</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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_LongTermDebtMember_hE3L6nxy3EiJGqmy0zJabg" decimals="3" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_kOawe6vc-0KajtE62aUVnw_4_2">4.1</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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_LongTermDebtMember_9t8C_E-XzE-HtThmZeM1jg" decimals="3" format="ixt:numdotdecimal" name="csiq:DebtInstrumentInterestRateFloatingPercentage" scale="-2" id="Tc_FFGa7zW7UUmlKj4vg9ntsQ_4_4">6.7</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></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><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 project assets, solar power systems or property, plant and equipment until the asset is ready for its intended use. The interests incurred during the years ended December 31, 2021, 2022 and 2023 are as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ScheduleOfInterestExpenseTableTextBlock" id="Tb_mSNqy89hekudxoVScTJDAQ" 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;">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.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;">2022</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;">2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Tc_45YLTG39qUeRItkUWA-MRA_4_2">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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Tc_R6wXhMzEgUa8ax6DBwu9uA_4_4">26,439</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedProjectAssets" scale="3" id="Tc_1CxrfWyojk-aG2se8ua3gg_4_6">27,676</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</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedSolarPowerSystemNet" scale="3" id="Tc_VgxgS4RveUW3JCtReni4Pw_5_4">18,666</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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedSolarPowerSystemNet" scale="3" id="Tc_QOuav-aHD0mR2V9HUGMQkw_5_6">33,097</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;"> &#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.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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InterestCostsCapitalizedPropertyPlantAndEquipment" scale="3" id="Tc_IMRpyC0VNUCGtWBkMBs9Vg_6_6">963</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 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_tkvvQr-Ikke_iN2-VxZdOA_7_2">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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_zCnKB-UStkGAyiQ6Zn23Rw_7_4">74,266</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_jki2LODQ4UegQYkz8_YloA_7_6">114,099</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestCostsIncurred" scale="3" id="Tc_AM47t9dk8EKzA7-AJJJ5kQ_8_2">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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestCostsIncurred" scale="3" id="Tc_n9rNmCrDJUmEICP9-6ij2w_8_4">119,371</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestCostsIncurred" scale="3" id="Tc_OUjRVY118ESgwPK1J2KkVg_8_6">175,835</ix:nonFraction></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></ix:nonNumeric></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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ShortTermNotesPayableTextBlock" id="Tb_l3UdL9b3gk21IKXv_FHgKA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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, 2022 and 2023, short-term notes payable was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Narr_bm8-Fa3qkE6OpTAlcFKyEA">1,493,399</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShortTermNotesPayable" scale="3" id="Narr_kfc9tAwQ6kK2wvAzyuzXcQ">878,285</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_NOp6xGCHU063QQ3vtn9KCA_1_2"></a><a id="Tc_Ag8qVl1U9kqjx9tj7saysQ_2_2"></a><a id="Tc_QvoLOMkrZkuwjVZ9_OxzvQ_2_4"></a><a id="Tc_38cHY0gy4EyDu8y_xQkNHQ_2_6"></a><a id="Tc_I88rxJzwaUCJJqrGLWZvLA_3_2"></a><a id="Tc_n81EFA64iECRypX_15s72g_3_4"></a><a id="Tc_HL_tumsBp0ucHOXtHw28jg_3_6"></a><a id="Tc_sMjECqyk8UKdV9RS1vCBQA_4_0"></a><a id="Tc_syFydNhJREKTT7dY20uyHg_5_0"></a><a id="Tc_bOtrTWonGUeq1UGAI61pOg_6_0"></a><a id="Tc_9xCYlNKatEO-gbD54DQ5Dg_7_0"></a><a id="Tc__9WLkdX-0ECHNT6NQx44qQ_8_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ProductWarrantyDisclosureTextBlock" id="Tb_844v-rqQ80CdjF-khl94wg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" id="Tb_bjOiksWL5EOsjTloBPal1w" 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;">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.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;">2022</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;">2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2020_e4l9AB3P7Ue0Md5J7y_79A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_AFNnQTTfQUiAsmpOJhhTTQ_4_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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_gm6uyCKttESV0qxDy3hUFw_4_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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_IKHFfie7f06Et4uhRXnbkQ_4_6">76,677</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="Tc_JTYIxodoDkCRuqNpOI3jew_5_2">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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="Tc_jagRxUEYUE26ARw3Mk82QQ_5_4">68,411</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" scale="3" id="Tc_cwRa2lpCZkaiRmf8nzx7gA_5_6">27,944</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="Tc_chWRetlirEq0gc7b8fXwzQ_6_2">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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="Tc_rK6uAvM4dEKuFiFMwotoWg_6_4">31,943</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualPayments" scale="3" id="Tc_ZssS4DahP0yXrpyhhSsnMA_6_6">21,011</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" sign="-" scale="3" id="Tc_SgeapHTyvUePVvcx1gvskw_7_2">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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" sign="-" scale="3" id="Tc_nVz4vNrfKU6fWhKXO6uNPg_7_4">4,937</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" sign="-" scale="3" id="Tc_1pFp4HZ0wU-esqoebwF35Q_7_6">8,091</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_gr9fIPwgKkeH-4f2RdK29Q_8_2">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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_yGvol_P5RE-8MGicHTEVAg_8_4">76,677</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProductWarrantyAccrualNoncurrent" scale="3" id="Tc_7jRkZ4cOG0uVVDCEPVNkAg_8_6">75,519</ix:nonFraction></p></td></tr></table><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></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><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-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, 2021, 2022 and 2023</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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:RestrictedAssetsDisclosureTextBlock" id="Tb_JHte1UqmE0aowpB3by3M7w" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="2" format="ixt:numdotdecimal" name="csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" scale="-2" id="Narr_OavclckOEUC0IJC1HuBFAQ">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 12pt 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" scale="3" id="Narr_NgYnpeNNsUacbOf0N0su8A">1,587,503</ix:nonFraction> as of December 31, 2023.</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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:ConvertibleNotesDisclosureTextBlock" id="Tb_dkbVe6wha0CthKnTnfEW0w" continuedAt="Tb_dkbVe6wha0CthKnTnfEW0w_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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 10pt 0pt;">On September 16, 2020, the Company issued $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromConvertibleDebtInitialIssuance" scale="3" id="Narr_6xGQmHJmokS_YbL8WOTvqQ">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_Gp5TRH_JQEebnoUBxuGaxg" format="ixt-sec:durday" name="csiq:DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" id="Narr_Dlyhm55mNUmuGvvX9HsJzw">30</ix:nonNumeric>-day option to purchase up to an additional $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromConvertibleDebtAdditionalIssuance" scale="3" id="Narr_8SdO_4beLESREKoepWUKWA">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 10pt 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 10pt 0pt;"><i style="font-style:italic;">Interest.</i> The 2020 Notes holders are entitled to receive interest at <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_lZR6gpJiBUqNALDH1kbRmg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateStatedPercentage" scale="-2" id="Narr_VSxPRn5-hEOelt8Xj5yWPQ">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 10pt 0pt;"><i style="font-style:italic;">Conversion.</i> The initial conversion rate is <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleConversionRatio1" scale="0" id="Narr_ZybY4ITPRUCT7wIsD_jNhg">27.2707</ix:nonFraction> shares per $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_lZR6gpJiBUqNALDH1kbRmg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentAnnualPrincipalPayment" scale="3" id="Narr_DHnW_6W--kesE5wqK-TmFw">1,000</ix:nonFraction> initial principal amount, which represents an initial conversion price of approximately $<ix:nonFraction unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg" contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_lZR6gpJiBUqNALDH1kbRmg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleConversionPrice1" scale="0" id="Narr_gMWXdbZgV0W-TnkFx09Ukw">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 10pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" scale="-2" id="Narr_lc_jC9JRlEG8fLk5yfBqCQ">130</ix:nonFraction>% of the conversion price then in effect for at least <ix:nonFraction unitRef="Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleThresholdTradingDays" scale="0" id="Narr_10uVGTH00k2ddG-46DfonQ">20</ix:nonFraction> trading days (whether or not consecutive) during any <ix:nonFraction unitRef="Unit_Standard_D_87kKI9PO70q8EVj9eVh9KA" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" scale="0" id="Narr_-kYo9UrrOECSQyDGv-gDcQ">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg" decimals="2" format="ixt:numdotdecimal" name="csiq:DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" scale="-2" id="Narr_qH_nZ8l1ykyfMfjxP6_6GA">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, 2022 and 2023, the carrying value of the convertible notes was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_hxfaEZwGw0-tO5STMbomCg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayableCurrent" scale="3" id="Narr_H_tjyAiOQEWaUe3YscsNyQ">225,977</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_WFHGv7dq0EmPTFd1YRrF5A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayableCurrent" scale="3" id="Narr_PH2xCjIuqU27gpe8JNThQw">227,424</ix:nonFraction>, net of unamortized issuance costs of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_hxfaEZwGw0-tO5STMbomCg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredFinanceCostsGross" scale="3" id="Narr_jWoWWcrSlk2CrLs8r_oxtw">4,023</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_WFHGv7dq0EmPTFd1YRrF5A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredFinanceCostsGross" scale="3" id="Narr_Q3Fnb4h-o06lmkf1srDdFg">2,576</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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_WFHGv7dq0EmPTFd1YRrF5A" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" id="Narr_m7QcmgeHzkewJjDbQRWnZw">3.18</ix:nonFraction>%. The amortization expense was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="Narr_pXnO55qLTUGX5jRSu0hZdw">1,302</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfFinancingCosts" scale="3" id="Narr_IeJG5fKG8kWyxW3Z-pDcgw">1,447</ix:nonFraction> for the years ended December 31, 2022 and 2023, respectively. Coupon interest of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpenseDebtExcludingAmortization" scale="3" id="Narr_4xpduxQgXEG7_DKuA4bdyg"><ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpenseDebtExcludingAmortization" scale="3" id="Narr_SWDCBoyIMk2M-TddPZC9Ew">5,750</ix:nonFraction></ix:nonFraction> was recorded for each of the years ended December 31, 2022 and 2023, of which $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_hxfaEZwGw0-tO5STMbomCg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPayableCurrent" scale="3" id="Narr_EYJ-FnfTAEewyMay1WAjTA"><ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_WFHGv7dq0EmPTFd1YRrF5A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPayableCurrent" scale="3" id="Narr_M0lIlqgQAkeLcPeRZTn01Q">1,438</ix:nonFraction></ix:nonFraction> was not paid and was recorded in other payables on the consolidated balance sheets as of December 31, 2022 and 2023.</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-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, 2021, 2022 and 2023</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_dkbVe6wha0CthKnTnfEW0w_cont1"></ix:continuation><a id="Tc_jz1OKs4H3Ui1x9qXefLy9w_1_2"></a><a id="Tc_OvFg5B_zJUKwz9ivn2q0sg_2_2"></a><a id="Tc_YsQk-W-HhEu2hWuqPBMxrQ_2_4"></a><a id="Tc_mY3byrDp3kmdGqCa92rPMQ_2_6"></a><a id="Tc_PtVfdWEHYUKOPOaZ3oNsVA_3_2"></a><a id="Tc_mHlby66QCk2qK7cWWgLx7A_3_4"></a><a id="Tc_iAfNsx4JUUqaYviv890P3Q_3_6"></a><a id="Tc_-JmYsnCKj06pStipsgWsIQ_4_0"></a><a id="Tc_itj5V3D_e0CqBB1RKmGqJg_5_0"></a><a id="Tc_eb1jy_2yjEGYAqjVqfXBQA_6_0"></a><a id="Tc_qMyZeoCbz0SVVVi5-GuEyA_7_0"></a><a id="Tc_h1S-iPp2-EyN_s26oh3M1A_8_0"></a><a id="Tc_n64XLlrb_kCp0B_cv562Sw_9_0"></a><a id="Tc_F2rI9CE6zkqGJFSoxuh6zw_10_0"></a><a id="Tc_2cVJN3IytECSGrzIpi96WA_11_0"></a><a id="Tc_fyL8W-ZgVkOWpadHFc60tw_12_0"></a><a id="Tc_yO851HhiNkKibqb2G1yQHw_14_0"></a><a id="Tc_fnS1LLyBikSM6cRbDOMWqQ_15_0"></a><a id="Tc_Vuvw-HgZE0erxmssBf2fjw_16_0"></a><a id="Tc_tWmp1t8InkKwtXQ6fHhUFg_17_0"></a><a id="Tc_IaMZUleG1UGw9NYrkXj9nw_18_0"></a><a id="Tc_GzCwbrN-KkOfcTAQrbaReQ_19_0"></a><a id="Tc_j5LRY70ZmUSBBR54uBQgGg_20_0"></a><a id="Tc_R4y1VpDeRUOhS3RD85hfbw_21_0"></a><a id="Tc_IzbjmNtt-UaJzyVmJxux6g_21_2"></a><a id="Tc_D5oPC68qHEmqF8fql3Dpng_21_4"></a><a id="Tc_6wBZiDZjqEWK4LWmQmPziA_21_6"></a><a id="Tc_h_RDxEm2hECCfmCPtKeIYg_22_0"></a><a id="Tc_ZDr7fUpQLUei7Qt1j-lweg_24_0"></a><a id="Tc_VNkojcSV50qne4ggRRDIjw_25_0"></a><a id="Tc_6Gt2LYr5ZEyBXCFtnOHnDw_26_0"></a><a id="Tc_q0RCA5mO-UGFlZ4hJWlblg_27_0"></a><a id="Tc_SB4PSIc8_k2r3W29wfkhZA_28_0"></a><a id="Tc_dPKDGpa2NkOov4fkKpbY5Q_29_0"></a><a id="Tc_l8Mb6J4DYk6Ula2pAXcKDQ_29_2"></a><a id="Tc_kUzl8_7Pw0Gvzn5pDvlNsQ_29_6"></a><a id="Tc_2cSjL41gN0KCNTq-2hjAqA_30_0"></a><a id="Tc_IXWBN8AFJUihqk2ZLAclcw_31_0"></a><a id="Tc_CUXQWoQtskiWF9sTBvgoZg_31_2"></a><a id="Tc_GGB0NnKcqk6WKULdXFaJow_31_4"></a><a id="Tc_0L58JudcS0GYAcCCp0NPvw_31_6"></a><a id="Tc_GlZiPrriQUy838bRPwyw0g_32_0"></a><a id="Tc_uRpJSj2Y90Ckm8gpaA5RGw_34_0"></a><a id="Tc_V7yueskHM0qF5ooxadIZiw_35_0"></a><a id="Tc_tuEq3xh87UOWDFNatcgKhA_36_0"></a><a id="Tc_qa5LTVxvakS15jgJGkh9iw_37_0"></a><a id="Tc_XvHnd_edw0y4QEuQSbBoCQ_38_0"></a><a id="Tc__9bWqCsvSkOYRvOaGUPqsg_39_0"></a><a id="Tc_pRQlt6eoF0K5S1pn503Rvw_40_0"></a><a id="Tc_lXP-3LfmAECQvlGe_FeecA_41_0"></a><a id="Tc_Qitjq3Q8b0KpPOLV7mnLrw_41_2"></a><a id="Tc_d21il20BAUCUlpX6JpNUkQ_41_4"></a><a id="Tc_-v1iOKCwIUqBfv67xhssoQ_41_6"></a><a id="Tc_9APn5aHcyEWT6h3SYkqE9g_42_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:IncomeTaxDisclosureTextBlock" id="Tb_tDlO03KKBUaUJ2Yg_P44oA" continuedAt="Tb_tDlO03KKBUaUJ2Yg_P44oA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="Tb_65keUGRWLU-zyFoPv6AYnw" 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;">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><td style="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;">2023</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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_lz4Wo6xkNkmYSeVfRvgVeg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_-V0BMU2ENUe5eRsG3vW1yw_5_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_dOPNbZ42Ske8sXmFSuAWbw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_6lsQJXeIIkSVGvxeyFtklw_5_4">19,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:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CA_5wTrYiI8Zk60rNKOWAmovg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_8ZORwqIBRUyLvaH6NCcgDA_5_6">61,704</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_t78NLnj-LUSKMhJUhWl8Ag" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_TjGfFGdlPEiJP4DiMACrsw_6_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_Cun517e7r0mNxMampHfrNw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_C6yT1InnG0iOaLPbKHodMw_6_4">22,275</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_US_NuSjbowMM0CZlAtL879wZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_StFKr2TQIUCZKFC0WYc0yQ_6_6">49,536</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_Ba4AXI6Hv0ucnPuzA-RctA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_GsKqNA0iPE6VH6pW7jazdQ_7_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN__86cLK8ZMkGWCzNlyXIp6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_0ABtvzWiEUipS6JZONx4ww_7_4">193,705</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CN_P2szLiN-K0Oa3W68m5a06A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_Q7RHt9RrF0Kh6yqf3iAeXA_7_6">230,768</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_2HDvQRaTZkyYBoOZEEXCbQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_BN3_ROJ5z0WNJ7q57I2Jvw_8_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_Za9OCQw9aEWqDkmyY0Ssaw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_G846WiBCtkaPDUxFJviHVw_8_4">1,179</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_JP_CMmZqN-fGUeb8Q7oyWPMqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_7OB_XUD6k0GizCmrBPJB_w_8_6">5,026</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_SG_R1RJeoHBmUqGbj4SxzDhRA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_BGUpDw0lm0WkKy81irk78A_9_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_4KBNX5JN10Oebg2jQULr0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_a_5gt_KOF025hGUDWKtblg_9_4">69,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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_SG_MIhW0xDHRUGQjtX3ok8Iig" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_ONZy2Ug_sUqbjnQL4lxBjQ_9_6">153,437</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_C8kTw5pGDUKD5GLczCKF5Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_RgcFlWuaakePbLcYqzZ3qA_10_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_2S2cZAub70ybmaUv8__33g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_QpQUEWalZk6YrOm6u0nxXg_10_4">32,052</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_BR_F-9qFPYhE0-pc4ktmeAx0Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_nZbSsFvc-EOJBnMIwnNURg_10_6">44,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 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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_TH_YR55zCHLvUegnjmf-RtY-w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_ZbzOUauj80O3ss2o4VdAqg_11_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_TH_1Ufky5eSqEKgcT3kM6pMzw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_CPc3aX97-kmr39Jsr9C2YQ_11_4">17,155</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_TH_1v5zTIJO3k6XzskkfpXE2A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_V7VJ7o9RvECl6WiySOEi8g_11_6">162,303</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HCfjZ5zgGEOem7ksX57ZmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_HFoT1T9mGEGBW9lMZ_W7-Q_12_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_YbWz9yFO6U63vMwWSeZChw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc__qlTPp4gHESsSIv2lww98g_12_4">40,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_mzsFdWmVA0ehho4L7sa2eA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_zBJFunshFUyw0N1VTuysrA_12_6">12,894</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_81X5alvWCkao53dhDPNZmg_13_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_jt6htZEOeUG-F3KFUZWlvA_13_4">356,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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;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_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_qKCnb3QsY0OzhTN5OXKO1w_13_6">408,525</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;border-top: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></tr><tr><td style="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_lz4Wo6xkNkmYSeVfRvgVeg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_Bcdp7SNk_Ea1VJqaEKw_Wg_15_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_dOPNbZ42Ske8sXmFSuAWbw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_AWyeXPvea0uak5QnHZhUbg_15_4">16,707</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CA_5wTrYiI8Zk60rNKOWAmovg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_Tq3giEvwIEKGNd15hjSJaQ_15_6">1,944</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_t78NLnj-LUSKMhJUhWl8Ag" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_spYF4wSorUOqfNu0X1Y-tg_16_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_Cun517e7r0mNxMampHfrNw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_b5pQ5Xl78UaLGi_e0urkcw_16_4">1,684</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_US_NuSjbowMM0CZlAtL879wZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_t_2HENb9jEmxGo-DqRRBWg_16_6">12,570</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_Ba4AXI6Hv0ucnPuzA-RctA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_BrawjjW2G0qRa28VeiJr4w_17_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN__86cLK8ZMkGWCzNlyXIp6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_98pUe3mFqkGrPAPCthl5wQ_17_4">47,528</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CN_P2szLiN-K0Oa3W68m5a06A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_vEgiCz9OlECracLTdFSZvw_17_6">55,780</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_2HDvQRaTZkyYBoOZEEXCbQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_xhJU6nK-s0G8JOhqGSuVjg_18_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_Za9OCQw9aEWqDkmyY0Ssaw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_kyATO9AxdUWONYsuLzwmfg_18_4">3,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:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_JP_CMmZqN-fGUeb8Q7oyWPMqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_2b5CTMvWck-8B2Jf_Iivmg_18_6">4,104</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_SG_R1RJeoHBmUqGbj4SxzDhRA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_99cn2XijSkWuItS7GBazTg_19_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_4KBNX5JN10Oebg2jQULr0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_xCLQ6NG2XkGgY79ICpCV_w_19_4">872</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_SG_MIhW0xDHRUGQjtX3ok8Iig" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_QfdReFlM2EaXnS4OzlsDQg_19_6">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: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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_C8kTw5pGDUKD5GLczCKF5Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_A9VgsJzZvU2iFE6TJSi_Xg_20_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_2S2cZAub70ybmaUv8__33g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_1SQk9BlT4UOelrnPiiKBOQ_20_4">5,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:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_BR_F-9qFPYhE0-pc4ktmeAx0Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc__hgy4CDUnUusAEpNRvXL2Q_20_6">7,518</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HCfjZ5zgGEOem7ksX57ZmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_z4gfKSMrZ0mYRwpPKntyEA_22_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_YbWz9yFO6U63vMwWSeZChw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_g8JjyvH000mLJboVxEzqBw_22_4">19,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_mzsFdWmVA0ehho4L7sa2eA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_BOroFSkmKkujJmriEne2rw_22_6">7,695</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_IX-1yN9rsEKlDUjnr9MnRA_23_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_C4jIfvbcikKTg4V_2xt8mA_23_4">57,269</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_zya57U9dMkeOs0_IN4zKhQ_23_6">75,050</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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_lz4Wo6xkNkmYSeVfRvgVeg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_gEji3LsvCk-Me4Mfic1DHg_25_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_dOPNbZ42Ske8sXmFSuAWbw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_LLa2qIUhTUuqBY7wv5tFKw_25_4">10,629</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CA_5wTrYiI8Zk60rNKOWAmovg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_61YBfNXLg0Sq0A-FzfAM-w_25_6">2,048</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_t78NLnj-LUSKMhJUhWl8Ag" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_Nlr5zwhs_kOdM3nFBpurgg_26_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_Cun517e7r0mNxMampHfrNw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_f-1yFqtDfkOeAoMbybdYfg_26_4">1,996</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_US_NuSjbowMM0CZlAtL879wZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_nFAMZUZx3kWNTb2lWAT0qQ_26_6">4,176</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_Ba4AXI6Hv0ucnPuzA-RctA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_svXsgCvfQ0SDrq6hpzHLUg_27_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN__86cLK8ZMkGWCzNlyXIp6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_NBgcJyrR-kiphkWx4tcI4Q_27_4">500</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CN_P2szLiN-K0Oa3W68m5a06A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_YT3sCVuZEkOHRUZT7BDzFw_27_6">724</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_2HDvQRaTZkyYBoOZEEXCbQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_ecYZaV4ufkCkOU-27jtbuA_28_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_Za9OCQw9aEWqDkmyY0Ssaw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_My99D3rqY0Gok97t0GeDtQ_28_4">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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_JP_CMmZqN-fGUeb8Q7oyWPMqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_EkaU9SA8sEy_0-7d7YxVhw_28_6">2,008</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_4KBNX5JN10Oebg2jQULr0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_H8N4jvoF6UqtxU-fh4KSaA_29_4">231</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></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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_C8kTw5pGDUKD5GLczCKF5Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_toi2HlcIpk6Kze7cd48IgA_30_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_2S2cZAub70ybmaUv8__33g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_b1z2R9dM8ka1i9-8gQPLbA_30_4">5,546</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_BR_F-9qFPYhE0-pc4ktmeAx0Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_OevXMufhREqxAKIhfx6_ag_30_6">25,657</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HCfjZ5zgGEOem7ksX57ZmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_KYjvwZ-0jk622Gn_jpH36g_32_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_YbWz9yFO6U63vMwWSeZChw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_e0ZuJdprWUeU4mh-wWuBsA_32_4">2,645</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_mzsFdWmVA0ehho4L7sa2eA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_HKN3Ki7jKUaVuQM71M6w0A_32_6">10,952</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_0lq6hC4eZ06UpxTQ_sYSDg_33_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_KJ4ZuMVX0UShUNxT52kzHQ_33_4">16,084</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_Ov2_C-dXVka0ZPMRSjKy9Q_33_6">15,549</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_lz4Wo6xkNkmYSeVfRvgVeg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_yq0YzPXkGECASNflX-OECg_35_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_dOPNbZ42Ske8sXmFSuAWbw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_0brpyJpXyEOWmhj5HsW3tA_35_4">6,078</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CA_5wTrYiI8Zk60rNKOWAmovg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_0Pgj-lkVI0yxT_I2rN80ww_35_6">3,992</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_t78NLnj-LUSKMhJUhWl8Ag" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_BTj8_Evh-0GOReqvEPkePA_36_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_Cun517e7r0mNxMampHfrNw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_p9bBcSy5002MBen2c1lG1g_36_4">312</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_US_NuSjbowMM0CZlAtL879wZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_KrBglrkOU0adR2E1qf_mng_36_6">8,394</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_Ba4AXI6Hv0ucnPuzA-RctA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_6_EHNT8OcE695NcNNuU7Dw_37_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN__86cLK8ZMkGWCzNlyXIp6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_biCMS0gKOESpA2EPh7LAdg_37_4">48,028</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CN_P2szLiN-K0Oa3W68m5a06A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_88VDJHqjvUGrtLRgU_Y-Tg_37_6">55,056</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_2HDvQRaTZkyYBoOZEEXCbQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_Z8q3hJDNzECc3ZAGCvq26w_38_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_Za9OCQw9aEWqDkmyY0Ssaw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_p8G0YZaf1EihWeK_x3aoUQ_38_4">2,881</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_JP_CMmZqN-fGUeb8Q7oyWPMqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_Tll5OCa2TUy-h8o1m2hHxw_38_6">6,112</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_SG_R1RJeoHBmUqGbj4SxzDhRA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_oV6buTZbek62RO8JVZT1tw_39_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_4KBNX5JN10Oebg2jQULr0w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_nmn-oCK_mUm7W6g41ru6aQ_39_4">1,103</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_SG_MIhW0xDHRUGQjtX3ok8Iig" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_9wxrbzk0IUCX2e1ZjW1NmA_39_6">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: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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_C8kTw5pGDUKD5GLczCKF5Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_5Bp-DHZZfUeGggb3zviYQQ_40_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_2S2cZAub70ybmaUv8__33g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_lAZf5y46uE6bKWfCbI80nw_40_4">10,569</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_BR_F-9qFPYhE0-pc4ktmeAx0Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_FGmt_oJRskqyzFv9nKo8WQ_40_6">33,175</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HCfjZ5zgGEOem7ksX57ZmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_48IJVSq5a0uHDCb8FVXnSQ_42_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_YbWz9yFO6U63vMwWSeZChw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_4Dq1FOfF2EOm2Ew40rWDkg_42_4">16,538</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_mzsFdWmVA0ehho4L7sa2eA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_03AXjdwphkydW3xGry6RSA_42_6">18,647</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_jtlf5ZgSFUqFRPgMJKsQnQ_43_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_EIDWrQs4Uk-O0IyyHzdASQ_43_4">73,353</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_FGkWo2RY-UurmIMjwToKBA_43_6">59,501</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: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></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-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, 2021, 2022 and 2023</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_tDlO03KKBUaUJ2Yg_P44oA_cont1" continuedAt="Tb_tDlO03KKBUaUJ2Yg_P44oA_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_y_QdWoUCpUOBQZMYEXMJSA" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_sFp4jYsq0UOzLp8OGRTxLw">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_y_QdWoUCpUOBQZMYEXMJSA" decimals="3" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Narr_hFDRKhiHDECmGpbmFFZq8Q">26.5</ix:nonFraction>% through December 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;">Canadian Solar (USA) 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_vq1uJMF8T0G-gRBEAW7CPQ" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_5FRekY04Lkajh1M4aSwt6A">26.4</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_Lj1DHNZNJUe37NHNCSaj9A" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_p0hWrkQ9j0eY9RAYt1Ho4A">24.6</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_aJMUd1ar7EeR1UJTZ3Znqg" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_kKpMPbo4Eke0-7GW7fyKZQ">25.5</ix:nonFraction>% for the years ended December 31, 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSsesUsIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_CfSKILHQtkS4vSuXDZqj-Q" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_rrBTn77rh02rt8kujdA__g">21.9</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_gwt7c9wvUE-8pQxCf4BjTg" decimals="4" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_w0wkFWNXsk-FjJo6mhXrlQ">28.1</ix:nonFraction>% for the years ended December 31, 2022 and 2023, respectively.</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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_MvGMyDFyU0SWsVCWeLpBkg" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_RonviQt7KE2skVF4icBjZg">22.2</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_IoVS33MTR0yey79d4zIfTg" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_ii1YCnCZJEWu-tkL18z_YA">22.5</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_4r8LjN8gh0mdDdCaJti1CA" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_Bcu8Mgo79UyYwSYBIlaUtQ">26.1</ix:nonFraction>% for the years ended December 31, 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_JkY-JtQitEi8FKeg-k_J8w" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_PP6QTWcacUKPXzlEM92a0Q"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_kqKDCCRqJE2ms8Dw9pKDsA" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_aK-_slvXaEyCVjjVYiBYSA"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_84lt1fOm5EO75wOn_i3fWA" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_UwcgYcUtIUGYvlpyF3KaGQ">31.8</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_4lo4lJHb_Umg3T132uPZzg" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_-STVaY9dG0W5c3eAUpFcWg"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_CDtH1lhr4k-mhN4OfyhiNw" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_3szGT86HNkC8B08kfN8XVw"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_LVRyNcKfBUWHnzJ_1RyM3g" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_CnJLuoyN9UeZM1dkj63R_Q">33</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_Qt8WOogj00eO0UQngPnGdQ" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_zvL1aGJZyk2y8Xw-5qeiBg"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_nK9N395Pf02XbsBGaXCtJw" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_FY0O47v6ok20NwrDGFeHyQ"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_SNAiactADEezGDi7FeYBLg" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_ok9YdySfH0aeSYiwiQ_w9w">34</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_66j7qm548k6x0yhQ4Kpm7g" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_-KMgDlM0fU6hnjd1MGMx1w">20</ix:nonFraction>%. The Company currently has <ix:nonFraction unitRef="Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_66j7qm548k6x0yhQ4Kpm7g" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfBoardOfInvestmentCertificatesTaxExemption" scale="0" id="Narr_cwoEzzw2CUOo25DrBaNovQ">five</ix:nonFraction> Board of Investment certificates for full tax exemption which have different effective years. The certificates started from year 2016 through 2023, respectively, one of which expired in 2021 and the other four will expire in 2024, 2027, 2030 and 2031, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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-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, 2021, 2022 and 2023</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_z4LHIipNUUOgpwV7Gd2Lng_1_2"></a><a id="Tc_aVb_uFv1SkaICKtUH1-X8A_2_2"></a><a id="Tc_gwlaOCJvcUCQTM8eV7c64A_2_4"></a><a id="Tc_7uw0GXKR1UOqbJDlnhjeXQ_2_6"></a><a id="Tc_a8yieNSkPU2Wfk20hznoEw_3_0"></a><a id="Tc_rU3jWaf1xEqgGeTuWIk_4w_3_3"></a><a id="Tc_ridynmQ8JUSwZkBSSmztHg_3_5"></a><a id="Tc_qbVY4aUb4UCFGoaujrxcpQ_3_7"></a><a id="Tc_wy-h1qyKtE6SfUhsIrwqmA_4_0"></a><a id="Tc_iidhpSDkpkuMA3cSoOzjHA_4_3"></a><a id="Tc_JdgE8WZPWE6etoC2_Iu99Q_4_5"></a><a id="Tc_O_sBj89w0kioglcuKb0S0w_4_7"></a><a id="Tc_EOJhC76ICEmb49eMKxy0zA_5_0"></a><a id="Tc_BkYRmH_Y_keyNBsiklWcew_5_3"></a><a id="Tc_8kjYZp75CE6AYlyZxg-QSQ_5_5"></a><a id="Tc_bXA65u1KCUGO0UmYDKkh6w_5_7"></a><a id="Tc_VNDdtw0ArE-Mv7ilkJRjPQ_6_0"></a><a id="Tc_zFITzDPA-UKy0W-GtIAxqg_6_3"></a><a id="Tc_3xl6f23_vkqGzFfcvDm2BQ_6_5"></a><a id="Tc__1Sxg5EG80S8oN5A8WOgHQ_6_7"></a><a id="Tc_5uXi9_EwnkSPLD92Nefukw_7_0"></a><a id="Tc_qA3GZYge1UydqRTgX5YnPw_7_3"></a><a id="Tc_tqtgxzemvkySu0yY1py74Q_7_5"></a><a id="Tc_HP864XOUR0eSMsdRo7gKyQ_7_6"></a><a id="Tc_P0sE_L6CwE-w1nVE3Z_HgA_7_7"></a><a id="Tc_CwO7u1Jd9UirMxD0bCkyNw_8_0"></a><a id="Tc_MJG-hhlEJEegjq_JAZ-qJA_8_2"></a><a id="Tc_o7Cecf5uGUeRv1vxxnQ8SA_8_3"></a><a id="Tc_Wdz9p4fMVUetm5tTdOtggw_8_4"></a><a id="Tc_oawTg6ufUUeNcBU5QoXC_A_8_5"></a><a id="Tc__wecrC81SkiZre091I9gFg_8_7"></a><a id="Tc_fniQu4OZ4kuCUHIPd7NP9Q_9_0"></a><a id="Tc_JJ_mQgXaikaLp_Pd1DuSFQ_9_3"></a><a id="Tc_91TsjKEaaEaVjxfSxGVfEQ_9_4"></a><a id="Tc_AE6oL4uLlUykW1WWycLJBA_9_5"></a><a id="Tc_EhEPuKRC8EKMtNvUoD6MSg_9_6"></a><a id="Tc_3Bw-kFOQJ0uhEeda4mFe5w_9_7"></a><a id="Tc_sikp8OmJTEaQmfRUUcLziA_10_0"></a><a id="Tc_ika3_h6VDUK87xvzUeRPXw_10_3"></a><a id="Tc_7Rt-jGh6oECrGAsX_g2UoQ_10_5"></a><a id="Tc_OvELWbhhlkWfUXc3qKRLPg_10_7"></a><a id="Tc_gjaHZsdjGUOE3jKK8z55Vw_11_0"></a><a id="Tc_bffLhrKgtUaSacttmWGgLw_11_3"></a><a id="Tc_4PQnfBrNkE-zUXHik3N9nQ_11_4"></a><a id="Tc_oYaT-wY6f0mVIT46uS8bSQ_11_5"></a><a id="Tc_xsEclCuTTEKb8tpcWd_n9g_11_6"></a><a id="Tc_9SLCLC7jqE2KaZ4zanQ2bQ_11_7"></a><a id="Tc_7DDCjU6pSUi7ZPY4x_YTFQ_12_3"></a><a id="Tc_Jr4s3IJSpkm2UpUxpPAwOQ_12_5"></a><a id="Tc_Q0S0_MNFzkSJ3SUlhOgn0A_12_7"></a><a id="Tc_h65m5lqf4k2Q-ljn1rRl2w_1_2"></a><a id="Tc_jGdy2sYhekqC5Fx6lYlL1A_2_2"></a><a id="Tc_B67a731d9E6-sf6E_OTT5g_2_4"></a><a id="Tc_r91sUn_jD0259fGf-5SKrA_2_6"></a><a id="Tc_3Z35SH2zLUCQ2UyCWmVgPA_3_2"></a><a id="Tc_TPiVi1HP3UqmgMqYnv1Avw_4_0"></a><a id="Tc_ukiIN4YJd0-beLdz4NCWgw_5_0"></a><a id="Tc_eGr05lsrNEyOzst0mGn97A_6_0"></a><ix:continuation id="Tb_tDlO03KKBUaUJ2Yg_P44oA_cont2" continuedAt="Tb_tDlO03KKBUaUJ2Yg_P44oA_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 0pt;">In 2023, certain of the Company&#8217;s PRC subsidiaries, namely Suzhou Sanysolar Materials Technology Co., Ltd, Changshu Tegu New Material Technology Co., Ltd, CSI New Energy Development (Suzhou) Co., Ltd, CSI Solar Technologies (JiaXing) Co., Ltd and Canadian Solar Photovoltaic Technology (Luoyang) 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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_JQjRSTvtfU-Qph4urhmX4A" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_9Mj1kEL6lEG5mzBRv2tmuw"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_dByBRGaHp0ubkdWUPV79Ww" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_eJkDDIrxjUiQqE-M-0nPrQ"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_4sjoN1pOZkyh5OWoUvS3DA" decimals="3" format="ixt:numdotdecimal" name="csiq:IncomeTaxesForeignCorporateTaxRate" scale="-2" id="Narr_ityFJbcDhE-2XLcnvamflw">16.5</ix:nonFraction></ix:nonFraction></ix:nonFraction>% for the years ended December 31, 2021, 2022 and 2023, 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="Tb_7dAeTrgKD06EuMr241YRiQ" 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: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.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: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:8.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.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:8.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.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: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: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 colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.49%;border-bottom:1px solid #000000;margin:0pt;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.58%;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: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: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.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;">2021</b></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: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.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;">2022</b></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: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.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;">2023</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</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;">Combined federal and provincial income tax rate</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Tc_FMbZdS4s1ky-n_rOMf0N2A_3_2">27</ix:nonFraction></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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Tc_R7ldiLqMVkK1mQ3WJjH3IQ_3_4">27</ix:nonFraction></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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" scale="-2" id="Tc_3VDgP7-RQkS0y6BwqudsyQ_3_6">27</ix:nonFraction></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;">%</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;">Effect of permanent difference</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:8.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" scale="-2" id="Tc_I4t_2Hjef0-xOIYaJmGd8g_4_2">4</ix:nonFraction></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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" sign="-" scale="-2" id="Tc_R469MxioT0qnbnttL1Sy7w_4_4">3</ix:nonFraction>)</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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" sign="-" scale="-2" id="Tc_uLMPWghFHECV27NZvuY99Q_4_6">15</ix:nonFraction>)</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;">%</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;">Effect of different tax rate on earnings in other jurisdictions</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.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" scale="-2" id="Tc_wgonADXil0-TVFKKJ5vz4w_5_2">9</ix:nonFraction></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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" scale="-2" id="Tc_m4AUO9SQmU2eNSS6-JIlxA_5_4">1</ix:nonFraction></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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" sign="-" scale="-2" id="Tc_RlJJDnij-0OhOMqpGNS6_w_5_6">4</ix:nonFraction>)</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;">%</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;">Effect of tax holiday</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:8.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays" scale="-2" id="Tc_O1kVFQnFHUubGL5qmmbQNQ_6_2">3</ix:nonFraction>)</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays" scale="-2" id="Tc_iqiGUG9OYkGuJJQ0cEp6_w_6_4">1</ix:nonFraction>)</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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays" scale="-2" id="Tc_4bWoiV1ocEe4EJK9qSU-Fg_6_6">1</ix:nonFraction>)</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;">%</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;">Effect of true-up</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.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" scale="-2" id="Tc_7mgdDoMc90KhYPEvUkSSZw_7_2">4</ix:nonFraction></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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" sign="-" scale="-2" id="Tc_UUYMbbJcoEqHw67M6vWPQg_7_4">2</ix:nonFraction>)</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8212;</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;">%&#160;&#160;</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;">Effect of cross-border tax</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:8.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.58%;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.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;">&#8212;</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="csiq:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent" scale="-2" id="Tc_PYE4yGi69ESlIoGyOW88Sw_8_6">1</ix:nonFraction></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;">%&#160;&#160;</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;">Unrecognized tax provision</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.41%;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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies" sign="-" scale="-2" id="Tc_4O7VI35guEGqyrRS42ky5w_9_2">5</ix:nonFraction>)</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8212;</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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8212;</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;">%</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;">Change in valuation allowance</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:8.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" sign="-" scale="-2" id="Tc_p65PFTjmWkuJfBqu9NKkTg_10_2">3</ix:nonFraction>)</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" sign="-" scale="-2" id="Tc_8rTb3hli8kyHkskkxRui8w_10_4">1</ix:nonFraction>)</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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="Tc_6BXOsl9ujUiC-OHk8a2rhw_10_6">7</ix:nonFraction></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;">%</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;">Effect of change in tax rate</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.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" sign="-" scale="-2" id="Tc_8B5lWzh5QE2aqyzmP0LyXQ_11_2">7</ix:nonFraction>)</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> &#8212;</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> &#8212;</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;">%</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="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:8.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_c7dU06EZ-E2uoPCTMlXQ8Q_12_2">26</ix:nonFraction></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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_YmHpbcHz4UCTTzyGljMV4g_12_4">21</ix:nonFraction></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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_qgEgyuLPEE2OxWioc1d8oQ_12_6">15</ix:nonFraction></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;">%</p></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><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:SummaryOfIncomeTaxHolidayTextBlock" id="Tb_Rtcg_yDMek-IntJtZ00ddQ" 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.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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: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.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.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.78%;border-bottom:1px solid #000000;margin:0pt;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.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.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;">2023</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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxHolidayAggregateDollarAmount" scale="3" id="Tc_P_el59KezEW_HTjHOx3Fpg_4_2">4,466</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.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxHolidayAggregateDollarAmount" scale="3" id="Tc_aMnqQvWDiEmTbO5fdcV1WA_4_4">2,520</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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxHolidayAggregateDollarAmount" scale="3" id="Tc_o7mJulye60eCYyyuvPDEUQ_4_6">3,043</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.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_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" scale="0" id="Tc_WR1LVGqPyUy8WUNmt7ZU5A_5_2">0.07</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.78%;margin:0pt;padding:0pt;"><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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" scale="0" id="Tc_ocd4N9mWI0ikg22spsnO1Q_5_4">0.04</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.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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" scale="0" id="Tc_NDLiwyfUY0CmwI2JsBHuWw_5_6">0.05</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.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_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" scale="0" id="Tc_EDrJnZAPL0mmXj3e3JMgSQ_6_2">0.07</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.78%;background:#cceeff;margin:0pt;padding:0pt;"><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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" scale="0" id="Tc_sA6QpXuQo0OWp9LnA_GHKQ_6_4">0.04</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.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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" scale="0" id="Tc_2plTXMoMzEWeFikSBEBMFw_6_6">0.04</ix:nonFraction></p></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-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, 2021, 2022 and 2023</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_eq00o_EeTEOev9ZzG59ekg_1_2"></a><a id="Tc_7b1CJDGlpEKS7QA379T9JQ_1_4"></a><a id="Tc_4Z7d_vnF4Uq4NvBwpZMfZw_2_2"></a><a id="Tc_WHlyZwl3V0K2FdQPplCeMg_2_4"></a><a id="Tc_kvuXi9EG2Ea_2houYGNpVQ_3_2"></a><a id="Tc_ZfA3HKNno06y2spw8Q60UA_3_4"></a><a id="Tc_zM_pU_5COkKthB_4OKxuQA_4_0"></a><a id="Tc_mLtc8h7-WUu1PAVOyrSIJA_5_0"></a><a id="Tc_uU7TeuJfPkiyChWAZ0eejA_6_0"></a><a id="Tc_fc2ls-0r10-jr6K-T0ZLAQ_7_0"></a><a id="Tc_55meGJLkq0qr7dMbHfo3qg_8_0"></a><a id="Tc_2ILA47Ek2EChCTFwneIk0g_9_0"></a><a id="Tc_US0svlVjRUC53-h3d8Vsew_10_0"></a><a id="Tc_TYuL0ngWv0KAT_9pufP7-g_11_0"></a><a id="Tc_mU2rDgDFBkSjd695yJog7Q_12_0"></a><a id="Tc_6sLg6r_IqkSxOczhoaMeKw_13_0"></a><a id="Tc_VMgGHUqCSk-NUK3WbWVlSQ_14_0"></a><a id="Tc_e1Bd0L7im0-A8KV0fnp_RA_15_0"></a><a id="Tc_1mAx8qsW0EGsQy6wB6ZdDg_16_0"></a><a id="Tc_zY8SF_pAA0OZIYtn9nvgHw_17_0"></a><a id="Tc_S2P-zJB2b0Ss7qvyZrcv9Q_18_0"></a><a id="Tc_t5xj3sLZE0C6C4SRajZz6w_20_0"></a><a id="Tc_0Xi70oFwhE6EfvqJdlPx8g_21_0"></a><a id="Tc__c-5Q3R0MEiJaENFDYHspA_22_0"></a><a id="Tc_TcHiF7Mk30q2Vnc1q4mf9w_23_0"></a><a id="Tc_Qh-FzITf3EKOMA7lxPpK8w_24_0"></a><a id="Tc_-jBx2PikSU6DIJ_ZDFpjzQ_25_0"></a><a id="Tc_Nm6eLOeTCkub9MgBgqo0VA_26_0"></a><a id="Tc_AN2E0zqkf0iIZTAjRKQEwQ_27_0"></a><a id="Tc_KkAq60y1hESAK-6Yc6YjqA_28_0"></a><a id="Tc_H9vKEc5_mUOkN2ddy5zD3Q_29_0"></a><a id="Tc_DqOTb8a0skmwafKCh_gu2g_30_0"></a><a id="Tc_xbXsqpfRJEGfZeHHLpIQig_31_0"></a><ix:continuation id="Tb_tDlO03KKBUaUJ2Yg_P44oA_cont3" continuedAt="Tb_tDlO03KKBUaUJ2Yg_P44oA_cont4"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="Tb_-DC3QWtOsECVUCvwujUwKg" 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.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.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.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;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.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.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.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;">&#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.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.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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.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.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.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;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.5%;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.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" scale="3" id="Tc_PyuO_XuBvEazKEAORmEXxA_5_2">17,318</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" scale="3" id="Tc_cBhe-8Bn50ezy8sBrvqAAw_5_4">12,944</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" scale="3" id="Tc_879gVLRoX0e3ZWy4obIfUg_6_2">11,772</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" scale="3" id="Tc_4WCoL31Mxk-oT-hvxxZwJA_6_4">14,728</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsInventory" scale="3" id="Tc_J_eaQdQOjk-Qyy9ELqvA1w_7_2">1,235</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsInventory" scale="3" id="Tc_H2ZmQHnV1kejlg6GCFTwcw_7_4">5,807</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsFutureDeductibleExpenses" scale="3" id="Tc_rKIFrca0fUyAIdcF271A5g_8_2">32,351</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsFutureDeductibleExpenses" scale="3" id="Tc_3sP0Ykcld0CR4zNo32h-vQ_8_4">28,720</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment" scale="3" id="Tc_e_GWec1eOUG_O9X30F8i5w_9_2">36,332</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment" scale="3" id="Tc_nccQjlwuO0Oo6NhXdb1bjw_9_4">18,428</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" scale="3" id="Tc_67RMFwydz0aGkbdz4Ztblg_10_2">40</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" scale="3" id="Tc_Zk0p4WSIHEqkxx0s59B7Jw_10_4">39</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets" scale="3" id="Tc_Ddz92zyLL0WjT09k0ag3Tg_11_2">28,723</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets" scale="3" id="Tc_q06K_L-CY0Gcwzq2mDsNqw_11_4">46,712</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" id="Tc_gJq2Er4uiU6WHlSnVLC4vA_12_2">79,474</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" id="Tc_zh8Lxz5CrkONMCAdECpziw_12_4">131,094</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses" scale="3" id="Tc_soBSk0Zgwk6u7u5q1Ye_iA_13_2">2,677</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses" scale="3" id="Tc_yPhkw4h6P0aognFL1HSj6A_13_4">190</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsInterestLimitation" scale="3" id="Tc_FfuP3PgeeUiEj0bw0QgJzQ_14_2">14,031</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxAssetsInterestLimitation" scale="3" id="Tc_0m1rITsiOUe-rRNSrqQlmw_14_4">15,471</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" id="Tc_05AXhscn1UuBktFxRRk0UQ_15_2">48,761</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" id="Tc_P0LgMmoHkka7-8wTWNdt9g_15_4">62,003</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsGross" scale="3" id="Tc_X1tzL4m1lUiu4WcExRc0Lg_16_2">272,714</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsGross" scale="3" id="Tc_zXKm1KBNMUiE3SHTOsdq8A_16_4">336,136</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_OGEIaZ0wlUef5Sza2x1DMQ_17_2">43,488</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_au5-y0RVgkKqzCDOHRPxQg_17_4">72,678</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_qUuu1jqYHk-WFv0frFDCqA_18_2">229,226</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_DKcbBerym0OrrUsereSABg_18_4">263,458</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.5%;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.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesDerivatives" scale="3" id="Tc_AVu8_9s5vk-IQ2p9qKvlgw_21_2">2,899</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesDerivatives" scale="3" id="Tc_Q_JJPhGUxkuH4f8q8AhiCA_21_4">654</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" id="Tc_6FHVBwZOzUat38TG76Qz3w_22_2">34,914</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment" scale="3" id="Tc_1IoikdrIIk-ZdYW22AauBw_22_4">34,625</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxLiabilitiesInsuranceRecoverable" scale="3" id="Tc_t6ZFrrxB3EOo_79A15RX_A_23_2">55</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:DeferredTaxLiabilitiesInsuranceRecoverable" scale="3" id="Tc_BNd5UtYh7EufKVRNkoQeCQ_23_4">71</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" scale="3" id="Tc_Q3xuDQRd0ke0vNJ_yjIMpw_24_2">3,906</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" scale="3" id="Tc_pZLAlyyrykGzFQTKHGeJcg_24_4">1,816</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="Tc_9Wjuxn3sCkSrlUJxIdWy5Q_25_2">24,856</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="Tc_50mo76SjgkKS1rN-nIqVXA_25_4">45,662</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_rQkHbtOsTUCxdKmquVz5Yg_26_2">66,630</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_wrV3NK3pI0KCqbCLsFV96w_26_4">82,828</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_0R4la4qrzkyisTpj6iUbUA_27_2">162,596</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_1UbkCvj6cUKqhbEGO1o60g_27_4">180,630</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_6WyuRiJmPU-CDugYsggFDA_29_2">229,226</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_38AGlzYwR0mAuA9fjCgf4A_29_4">263,458</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_oeRQwykE5kerjM0XFUNDPA_30_2">66,630</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_XiEGqx4A702RzTPa_yhetA_30_4">82,828</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_-K77t8y5d0eVlDYLqtmF2g_31_2">162,596</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_30GbgjLqPEu_BN_gf_mQ_w_31_4">180,630</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: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></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-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, 2021, 2022 and 2023</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_J8jmeojmsUigVEEWpniqvQ_1_2"></a><a id="Tc_7X_zx9JWAEaNeqlrZypJGg_2_2"></a><a id="Tc_ECCyu-vIZkGZ_WLUMbL7vg_2_4"></a><a id="Tc_vrVQRgsSK0abGD4Ztf0R0Q_2_6"></a><a id="Tc_2gEaMeTZ6Uu1ydiNJ-ZEPw_3_2"></a><a id="Tc_D5Jw3EDsgkCkmUaMTqts0A_3_4"></a><a id="Tc_2fmd0WUWDkaW6bHDZojFnQ_3_6"></a><a id="Tc_xct8ILzNYU-jWGbZC6r1Gw_4_0"></a><a id="Tc_uN6cfjSl6USaRxmcctHQog_5_0"></a><a id="Tc_fbh9afKt2UqsUvj4m1strQ_6_0"></a><a id="Tc_rqLVymqS00iW5q0EZtUfEw_7_0"></a><ix:continuation id="Tb_tDlO03KKBUaUJ2Yg_P44oA_cont4" continuedAt="Tb_tDlO03KKBUaUJ2Yg_P44oA_cont5"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_z19N_66-b0GNb2uuD1FCAg" decimals="2" format="ixt:numdotdecimal" name="csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" scale="-2" id="Narr_0VnQaBU0iU2yJVVe9k0UEg">5</ix:nonFraction>% or <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_uu3AUryx5kWUSPunxZnrUA" decimals="2" format="ixt:numdotdecimal" name="csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" scale="-2" id="Narr_Ouz8ygp2_UOjQakC5Nfs9g">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, 2023, the Company provided $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="csiq:WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries" scale="3" id="Narr_valZhrJXmUOm5euaG1WQWQ">5,350</ix:nonFraction> of withholding income tax for undistributed earnings of foreign subsidiaries in 2023 on the basis of expected future distribution plan. As of December 31, 2023, the remaining undistributed earnings of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UndistributedEarningsOfForeignSubsidiaries" scale="3" id="Narr_SNBBD7Yp_Ei8rSnx249uuw">701,222</ix:nonFraction> attributable to the Company&#8217;s PRC subsidiaries and affiliates are considered to be indefinitely reinvested. 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_VRSPuMRBSkSsClqZ8Eyiqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" scale="3" id="Narr_j13xfOL4AUmbX-NR5Saa_g">35,061</ix:nonFraction> to $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_u3RxRVI0H0KvHxTn_PKCeg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" scale="3" id="Narr_mcTNfFDu_keRE9nHPZUgPg">70,122</ix:nonFraction>, depending on whether the immediate offshore companies can enjoy the preferential withholding tax rate of <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="csiq:PreferentialWithholdingTaxRate" scale="-2" id="Narr_3G2IRBJjS0mr2DXoqoO4vw">5</ix:nonFraction>%.</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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:SummaryOfValuationAllowanceTextBlock" id="Tb_JbwUIThHFEOIZkye7qxejg" 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;">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><td style="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;">2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_pVv2KUsf_EaCaqwpl1UBIg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_RhCjUeg-bUKE4ZOk-9p4QQ_4_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_h837DOEs-0OxiUcAZLhOBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_lEKTVR0Qukm65ZbK2k57GQ_4_4">45,682</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_x93Rl_Rk5Ua3O9NiXkTBKQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_fyCCvraJ_06Z3TwJ7Qtf3w_4_6">43,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:10pt;margin:0pt;">Additions (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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_a1pOMXEBlE6qtiIrhYgk3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_EreredI5Rkyk5t0qt2rFMQ_5_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_8tGw5yT0gECX0FdgPPnlFw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" sign="-" scale="3" id="Tc_tzsBioib_Eynr9i-5W559g_5_4">1,531</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_9GK8X_EqXEuN1Tbf6zPcJA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" scale="3" id="Tc_RInpFsuZxkSaQCYapJe1kA_5_6">28,819</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_a1pOMXEBlE6qtiIrhYgk3Q" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_BpsDgwe-3kS_7P-s7r0jCA_6_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_8tGw5yT0gECX0FdgPPnlFw" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" sign="-" scale="3" id="Tc_axEId-7SXkyFw8is7F4_rA_6_4">663</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_9GK8X_EqXEuN1Tbf6zPcJA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ValuationAllowancesAndReservesForeignExchangeEffect" scale="3" id="Tc_l-qq84mXIk2PhK1oXBWv_g_6_6">371</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_h837DOEs-0OxiUcAZLhOBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_dezeYFeIIEmWH9r-TQlUBw_7_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_x93Rl_Rk5Ua3O9NiXkTBKQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_cv3vWPJxRkKhAa-Q8QzuPA_7_4">43,488</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_Jc4jMl6YuUy0GqxcdT3gtQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_PwWMUuAUeUqQksM_pYNt6A_7_6">72,678</ix:nonFraction></p></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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of December 31, 2023, the Company has accumulated net operating losses of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLossCarryforwards" scale="3" id="Narr_6Sqi78TjbUqBzDBgBOar2w">821,591</ix:nonFraction>, including U.S. federal and state net operating losses of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_csiq_DomesticAndStateTaxAuthorityMember_NEoo5pfZU0iL0Gd0IX3wbA" decimals="-3" format="ixt:numdotdecimal" name="csiq:OperatingLossCarryforwardsSubjectToExpiration" scale="3" id="Narr_C9y9JAujRUKKQ4cTnS2r4g">331,767</ix:nonFraction>, all of which will expire between 2027 and 2043.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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: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:10.8pt;padding:0pt;">&#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: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:10.8pt;padding:0pt;">&#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;"></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-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, 2021, 2022 and 2023</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_subMDE3uRUSBKpEK8vUvTQ_1_2"></a><a id="Tc_ajF1Vfsn1kKIBGtIL7Ll4w_2_2"></a><a id="Tc_cbEf1jMsI0am_IEfcfo2wA_2_4"></a><a id="Tc_9NkYqyfrXUy1okNklHhndQ_2_6"></a><a id="Tc_wS98czgkNkWkCcNG6OE_IQ_3_2"></a><a id="Tc_8RhcYz2bvEWueP3pT2bq7g_3_4"></a><a id="Tc_eDtepKWmJESfQ0bsOeEKsA_3_6"></a><a id="Tc_5YMcF_vChUeK_AZPAqHphg_4_0"></a><a id="Tc_eo1gbr4GFkaNTx3GL0K3Sw_5_0"></a><a id="Tc_TFMr3pvB2Eq8plSnBvpErA_6_0"></a><a id="Tc_3nhZZ13A5EeyaaQ3n_XmMw_7_0"></a><ix:continuation id="Tb_tDlO03KKBUaUJ2Yg_P44oA_cont5" continuedAt="Tb_tDlO03KKBUaUJ2Yg_P44oA_cont6"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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;">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:12pt;text-indent:18pt;margin:0pt;">The Company has recognized a valuation allowance of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Narr_LQaE4aGZNEaacrYHtglDJw">43,488</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Narr_sPOpH7gR4Uid6jKDPnjHZg">72,678</ix:nonFraction> as at December 31, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;background:#ffffff;margin:0pt 0pt 12pt 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 12pt 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, 2022 and 2023 was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" scale="3" id="Narr_atkPRCen7kK85woaUxo93w">961</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" scale="3" id="Narr_GjIVFfAgKUWwCkqWkDLQ8w">956</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, 2021, 2022 and 2023, respectively.</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" id="Tb_YcZLVET1h0iDRg7IUcFEkQ" 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;">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><td style="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;">2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2020_e4l9AB3P7Ue0Md5J7y_79A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_QV0I4URCdEqiVv0qCc6vbA_4_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_12ycefAvC0S1AreeTE_xXw_4_4">5,863</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_qax-i7-XNUStsKJJQcWIVA_4_6">4,770</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_2TT-WKcjtUefcPsKUdepjg_5_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="csiq:UnrecognizedTaxStatueOfLimitationsExpirations" sign="-" scale="3" id="Tc_PDJxQe5uh0qgObMt-iww0Q_5_4">678</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_I-YC9AKUUUC4f_jgE0Vg8A_5_6">24</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_T5dib1Eu50aqmMzRgVvWfw_6_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_CeBTpFRs302krZz14cql5g_6_4">415</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_Z3fJp1gI2kKXy0YnPmJqcQ_6_6">1</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_bQN53IBwjk6FmXZvBZBs6g_7_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_DTHKpWvx-UaHnbcVPRdwxA_7_4">4,770</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_j-fQP6zKE0iRTqevD4MxnQ_7_6">4,745</ix:nonFraction></p></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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 2017 to 2023 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 2019 through 2023 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 2018 retrospectively, and on transfer pricing matters for taxation years up to 2013 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-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, 2021, 2022 and 2023</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_tDlO03KKBUaUJ2Yg_P44oA_cont6"></ix:continuation><a id="Tc_zC6uaut_7kCQjQC20FfCJA_1_2"></a><a id="Tc_O8Q71LVglUmzbdg9_im9sA_2_2"></a><a id="Tc_YT_Y4VvUs0i4arNqKp2eKg_2_5"></a><a id="Tc_WHNMXvVDxEu-RSa7C9ebVQ_2_8"></a><a id="Tc_LW9pbb4LbEu2Ol0ohF_GLQ_3_2"></a><a id="Tc_T9ANnDniQ02OHhZiwHFRoQ_4_0"></a><a id="Tc_U1bEOOaB6kiH0MeapWeWfA_5_0"></a><a id="Tc_2Q1W_zTRtUGxtz4ryO-lGg_5_2"></a><a id="Tc_K42rYMh_O0qBMiI-JcWIUA_5_5"></a><a id="Tc_uBkyoJKgKkGTMPG3dZe2hA_5_8"></a><a id="Tc_8ddOwsUNR0mDgsTMn3QRVw_6_0"></a><a id="Tc_pxgT4sqnNEKMsuywGrJvGQ_7_0"></a><a id="Tc_oC1hpGXB1kOlTnN8s_K11g_7_2"></a><a id="Tc_TDYvE8NYYEaWseRHyAmXXg_7_5"></a><a id="Tc_hcI-PAfb6ki1gbvsAV0kHA_7_8"></a><a id="Tc_9KBHs2F9REmUNwSoALAB8Q_8_0"></a><a id="Tc_-WCo1F0Us0yMIb7Ug1zy4Q_9_0"></a><a id="Tc_1oe41x3J_UWg4X2ViJIhaA_10_0"></a><a id="Tc_wBWW_9be4kSameqhQwXReg_11_0"></a><a id="Tc_mMbRkY2u_0GG0AsDsepKEw_12_0"></a><a id="Tc_pxrFfpLzA0CMfKnTZxg6cw_13_0"></a><a id="Tc_pB4SFwhDhUmZi9OnCczEQg_13_2"></a><a id="Tc_J3xI4yHO-022kOoFY6T7XQ_13_5"></a><a id="Tc_erQOLqZlS0iRhCPXXaiP2g_13_8"></a><a id="Tc_7UsJE5x_2EuHE9dv49dCYA_14_0"></a><a id="Tc_P5mLvSfsUUWl6dQShPJClQ_14_2"></a><a id="Tc_jROHyRLzQEK3o3pN7fUQZA_14_5"></a><a id="Tc_d6uuCj55n0WP-G8MJ4Qpbg_14_8"></a><a id="Tc_Sf2IAmW_QkWbGiGNLM-scQ_1_2"></a><a id="Tc_XBRwZb35t0CuQySXRQJqvQ_2_2"></a><a id="Tc_ZAsOTjJjr0WXlueSTVQDZQ_2_4"></a><a id="Tc_yzVzKuJHukKsj5X4Ih0O0Q_2_6"></a><a id="Tc_2PteNbVOREWN5yJ8O_HL-w_3_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:EarningsPerShareTextBlock" id="Tb_m02L-vw5HESNBcQVC7qdTw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Tb_aEPqc155OkmEQL-ZwsV6ow" 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.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.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.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.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><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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.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.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;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.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.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.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.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><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 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;">2023</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.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.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.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;">(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.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;">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.47%;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><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;"><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.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;">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.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_NAZUF6DMKUK0NKl4qoyjJQ_5_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_fLz7-7PqYUeGSEEomZCxzA_5_6">239,968</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_cVjrnKV9qEqoIjnbZRsSLA_5_9">274,187</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" scale="3" id="Tc_6CGbiu1o6UClgqHYek_jPg_6_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" scale="3" id="Tc_1RjHmhjQ00OFV7sKfUJbFA_6_6">5,183</ix:nonFraction></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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" scale="3" id="Tc_rsEftHK3qU6uNUV4hcVVnw_6_9">5,290</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToParentDiluted" scale="3" id="Tc_l3utqwfrg0aDbBxM-JlF0g_7_3">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToParentDiluted" scale="3" id="Tc_VgP-M0V7q026fA4qJLpqMw_7_6">245,151</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToParentDiluted" scale="3" id="Tc_kf126v5_RkydwW8Cz_ApUQ_7_9">279,477</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.47%;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><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;"><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.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;">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.47%;margin:0pt;padding:0pt;"><p 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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_7_ckEXmoPkaDurCurC8hvw_9_3">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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_IfeQFjL0uUCYzWPfuQquyg_9_6">64,324,558</ix:nonFraction></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="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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_0Xm2Pi3MWkaTUlsalhmetA_9_9">65,375,084</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">Diluted effects of share number from RSUs and share options</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.47%;background:#cceeff;margin:0pt;padding:0pt;"><p 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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" id="Tc_Zplo0z8mhUiiiSZAAV1MKg_10_3">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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" id="Tc_kU62gyOogk-lRGTa1Vmtxg_10_6">586,420</ix:nonFraction></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;"><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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="0" id="Tc_9pa1goJ7rk6YQcyiqkAaxA_10_9">546,765</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" scale="0" id="Tc_5Cs9M1BsI0GXQ6cB2SdgPA_11_3">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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" scale="0" id="Tc_MBo6BVgt8EKWK7qCWh_QCQ_11_6">6,272,157</ix:nonFraction></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="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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities" scale="0" id="Tc_qgtn-gTKqEeEbPpMyu3MlQ_11_9">6,272,157</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_6cEpSxpao0qyEX6WtnCJrQ_12_3">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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_xo5EYUfq_US109wLgSsWHA_12_6">71,183,135</ix:nonFraction></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;"><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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_27kKUK0Rhk6FENdAox7k6A_12_9">72,194,006</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_404FKmJyq02p0WE3_Y-ztg_13_3">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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_dJU5fNqnwUS1eIUuz7kyJA_13_6">3.73</ix:nonFraction></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="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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" scale="0" id="Tc_eUJvBJ8-P0q9macW4hQmow_13_9">4.19</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_NS-AqjH2lky232BmK7JrzQ_14_3">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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_FWSIcwyBI0aQVUuSTulRYw_14_6">3.44</ix:nonFraction></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;"><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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" scale="0" id="Tc_PmF4MnpE3km7-YK-EgDyoQ_14_9">3.87</ix:nonFraction></p></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><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" id="Tb_d-8Q7jrJR0i-aNbW8p100A" 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.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: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.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.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></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: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.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;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></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.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: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.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">RSUs and share options</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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_FriujmQWhk-aMmGVJAiKxw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_Lz8rUNyyX0ydG7W2pyLRKQ_3_2">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.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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_cHUvZIdoPkWTQHJlgnOESQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_9dp1w6YYqkyQfH0Yb5JOoQ_3_4">9,295</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.6%;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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_cfmg6Tw1Gkmw0fnKOuP0CQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="Tc_BkwkdSynrEu5SCw1mBVQcw_3_6">48,598</ix:nonFraction></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></ix:nonNumeric></ix:nonNumeric><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="_403bd14b_b193_458f_96bc_7f544093034f"></a><a id="_6920c964_7b4f_45da_aef6_c0fbf71a1c9c"></a><a id="_6920c964_7b4f_45da_aef6_c0fbf71a1c9c_2"></a><a id="_6920c964_7b4f_45da_aef6_c0fbf71a1c9c_3"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" id="Tb_zoobWj4acUqUCQ1mDoQaDw" continuedAt="Tb_zoobWj4acUqUCQ1mDoQaDw_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 12pt 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 12pt 0pt;">The amount due from related parties, current of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_M8SCuvwdX0yIO_09T0ld_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherReceivablesNetCurrent" scale="3" id="Narr_jhGWmlzQ2UWGh7glXTqS0A">48,614</ix:nonFraction> and $40,582 and amount due from related parties, non-current of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrent" scale="3" id="Narr_LKGvwmMBO0acHxKB11F1pQ">33,489</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrent" scale="3" id="Narr_W6Ej3GGTT0yLdgUyEhwtDw">32,313</ix:nonFraction> as of December 31, 2022 and 2023, respectively, primarily consist of receivables of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_CounterpartyNameAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_z4nKhrEU4EKrGIPFWfZn7A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LoansAndLeasesReceivableRelatedParties" scale="3" id="Narr_seD9kJsIj0GoCsJqN7IGRg">52,424</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_CounterpartyNameAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_H7Yv3Q56lUWudLUfn3e5Og" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LoansAndLeasesReceivableRelatedParties" scale="0" id="Narr_s5kw9nI8-0Cw2bkniPhuYQ">33,664</ix:nonFraction> for Horus, respectively, and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_CounterpartyNameAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_aTCBbGanpEGyXk28hchnMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LoansAndLeasesReceivableRelatedParties" scale="3" id="Narr_B5oEHFCWfke-CZ7QJSV85w">29,613</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_CounterpartyNameAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_0NariZOCy0KfQcF0wLrI6w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LoansAndLeasesReceivableRelatedParties" scale="3" id="Narr_NBUR_sepWkaO984BTrWNQQ">36,832</ix:nonFraction> for Recursos, respectively, as of December 31, 2022 and 2023, each the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_kdB_HttlQkSD-mqa9_cOrQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_2_xKTQGLF0-Sqv09Lz7YQA"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_3L-jlL8XikeSPsqiQACsmA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="Narr_e2Wi9yNqmkiGdy19kDTHdA">49</ix:nonFraction></ix:nonFraction>% owned affiliates in Mexico.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The amount due to related parties as of December 31, 2022 and 2023 were $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_M8SCuvwdX0yIO_09T0ld_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Narr_WU_jx5G5Rkuafx3NTYvHGg">89</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_BFgOCPFA00-ZkpkVA9IU5A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Narr_oK2c8VSzgkCmDUNm8TY99A">511</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;">Dr. Shawn Qu fully guaranteed loan facilities from a Chinese bank of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="As_Of_12_31_2021_srt_CounterpartyNameAxis_srt_ChiefExecutiveOfficerMember_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_xKvg9vT4ekSCjyWle_ogsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_DYGdagPG3ESduAuZU1FLdg">12,000</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_srt_CounterpartyNameAxis_srt_ChiefExecutiveOfficerMember_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_xKvg9vT4ekSCjyWle_ogsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="3" id="Narr_Q8QR35ybnU-s2ogfP-shWg">1,882</ix:nonFraction>) in 2021. No amount was drawn down under the facilities as of December 31, 2021. Dr. Shawn Qu did not guarantee loan facilities of the Company in 2022 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;">In 2023, the Company sold <ix:nonFraction unitRef="Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1mIJGj0-dUi9k9oQMKJNtQ" decimals="0" format="ixt-sec:numwordsen" name="csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold" scale="0" id="Narr__MOkdbwRBk2OxeJcBUMgsw">one</ix:nonFraction> solar power project to CSIF, the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Ea3rD8lUQUiIAC2sTV_VPA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee" scale="-2" id="Narr_jvJuDpjy2kemFT8m5MR3Zg">14.54</ix:nonFraction>% owned affiliate in Japan, in the amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1mIJGj0-dUi9k9oQMKJNtQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Narr_i7IpGkGK1kiJ0UhAa1-H6w">230,144</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1mIJGj0-dUi9k9oQMKJNtQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Narr_yZVXr5GTpken-Z6t0PSrFg">1,591</ix:nonFraction>). In 2021, the Company sold <ix:nonFraction unitRef="Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_ceHEJ4VvfkqI8sALHoNsvQ" decimals="0" format="ixt-sec:numwordsen" name="csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold" scale="0" id="Narr_SSGADH2R20CqymKRBzGnMg">two</ix:nonFraction> solar power projects to CSIF in the amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_ceHEJ4VvfkqI8sALHoNsvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Narr_3cNbjLOv30eBO0-fVqbQwQ">30,601,181</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_ceHEJ4VvfkqI8sALHoNsvQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Narr_yW2jInAf8EqzDI5O0ldPJw">282,133</ix:nonFraction>).</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-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, 2021, 2022 and 2023</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_zoobWj4acUqUCQ1mDoQaDw_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">2<b style="font-weight:bold;">0. RELATED PARTY BALANCES AND TRANSACTIONS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;">In 2021, 2022 and 2023, the Company provided asset management service to CSIF in the amount of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_XmTEiQj15U2HdPU2H8xPEA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="3" id="Narr_DJ21m0P-cUaHXBBhDb8_sw">829,053</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_XmTEiQj15U2HdPU2H8xPEA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="3" id="Narr_VDsZ4t2Cv0Gb0IXXILz8Zw">7,541</ix:nonFraction>), JPY<ix:nonFraction unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_pC0MBHGY-0y9MFPPOdUDkA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="3" id="Narr_XCBIqf7Qdk2EFPjl5Xp6kQ">545,131</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_pC0MBHGY-0y9MFPPOdUDkA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="3" id="Narr_TtNmvNk0KkSEsnUSXyDcOw">4,180</ix:nonFraction>) and JPY<ix:nonFraction unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_j3a2P-crm0yC9um6a5EKIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="3" id="Narr_aXHDtsgyLUui5KQNhDYSkw">1,405,513</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_j3a2P-crm0yC9um6a5EKIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="3" id="Narr_YX3smYXfHUSHQ1X9IFOZNQ">10,004</ix:nonFraction>), respectively, and provided power services (O&amp;M) to CSIF in the amounts of JPY<ix:nonFraction unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Anz1b-Cg1E-m9NJrEADSGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="3" id="Narr_pLtgNP2ztUWheK8qarOZcw">981,161</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Anz1b-Cg1E-m9NJrEADSGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="3" id="Narr_o_e3K70CJU2iPplpJMN_JQ">9,195</ix:nonFraction>), JPY<ix:nonFraction unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_RWhvZ7CFnEudaMlqStWp8A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="3" id="Narr_VBJg84neXE2g9ukCjlWBjA">914,933</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_RWhvZ7CFnEudaMlqStWp8A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="3" id="Narr_cHaTmroU7020I0JT2y5E1A">7,036</ix:nonFraction>) and JPY<ix:nonFraction unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_jlcp7PXgGEGokHr5DOxI3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="3" id="Narr_gnuKyTq5dE27tgVoDwtB2Q">984,527</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_jlcp7PXgGEGokHr5DOxI3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionAmountsOfTransaction" scale="3" id="Narr_q7LwA-gw9EeGVkGNVKVAkg">6,974</ix:nonFraction>), respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2023, the Company sold modules to subsidiaries of Marangatu, the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_MarangatuHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_frZutGOLJ0iRt4hDmkhDAg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_fgIpeXMIY0mCgImMNcdvvQ">30</ix:nonFraction>% owned affiliate in Brazil with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ib3OfSU-4UC61ZHtZS629w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_upGcsiA9s0K-9QyM4EX7tA">70</ix:nonFraction>% ownership by a Brazilian investor, in the amount of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_MarangatuHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_frZutGOLJ0iRt4hDmkhDAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Narr_VVZI20nJkUG8tWLE3ndMCw">100,939</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2023, the Company sold modules to subsidiaries of Panati, the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_PanatiHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_28_z-FccK0K2_uOZ8hLwVw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_V6VPqFUXz0ejoAbV73NfWg">30</ix:nonFraction>% owned affiliate in Brazil with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Z02u3jPX8ku2ZpA852_MZQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_WdDhYEBUaUiBXHC6XK0GNw">80</ix:nonFraction>% ownership by a Brazilian investor, in the amount of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_PanatiHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_28_z-FccK0K2_uOZ8hLwVw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Narr_TTDTpPRXOEutRR2a2ZskWA">67,463</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021 and 2022, the Company sold modules to subsidiaries of Francisco, the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_qw83573DS0-MAqArJ_P8SQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_ByQ1l2wGakmKEFI95PL3FQ"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_AFbAl9IQYEeLM28PaAfytg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_JwQNugSvokyzuuotYM6QHg">20</ix:nonFraction></ix:nonFraction>% owned affiliate in Brazil with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_2po2badM3ECEuY8a15IDsg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_JBWEMvZXM0ShaxqR5U7l8A"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_QDiKVtQG6U-Jyu7SgFLnnQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_bix2JBSDCEmux3AaEYK-XA">80</ix:nonFraction></ix:nonFraction>% ownership by Chinese investors, in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_qw83573DS0-MAqArJ_P8SQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Narr_kq8mpIVC6ES10HfjAlEmTg">24,883</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_AFbAl9IQYEeLM28PaAfytg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Narr_2RfMek_a6Eek5eWH1LeiyQ">642</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021 and 2022, the Company sold modules to subsidiaries of Lavras, the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LavraSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_yUXt__MmgUK23RD0G4HuCA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_eHEXJD7B1k6mfKQVPNxi-Q"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_LavraSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ETPfk2ZPukqKfxjgT5jTZw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_zCI4Ovjd8UWTryMqJag6yA">20</ix:nonFraction></ix:nonFraction>% owned affiliate in Brazil with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_2po2badM3ECEuY8a15IDsg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_kH4r8MOPj06v893qWuOruw"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_QDiKVtQG6U-Jyu7SgFLnnQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_j3wBZTCZd0GtXkYb7KjT1w">80</ix:nonFraction></ix:nonFraction>% ownership by Chinese investors, in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LavraSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_yUXt__MmgUK23RD0G4HuCA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_rDEdp0DCmUifR-RcYV2MXQ">30,064</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_LavraSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ETPfk2ZPukqKfxjgT5jTZw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_d94MNAotp0qiAuyk2HW-kA">202</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021 and 2022, the Company sold modules to subsidiaries of Salgueiro, the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_SalgueiroSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_B9Zc3M7B60S0kM-UsATnZg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_XjrKpnXsFEKj6rbupZH0nA"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_SalgueiroSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_QwmII3n2P024n2JLrEGA4A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_RntT5R1RYUCNSSLczIZSdw">20</ix:nonFraction></ix:nonFraction>% owned affiliate in Brazil with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_2po2badM3ECEuY8a15IDsg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_DgSvp9e3tkiPKBTIHU9_xA"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_QDiKVtQG6U-Jyu7SgFLnnQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_q6ehDstSQ0GODpTYBRJdDg">80</ix:nonFraction></ix:nonFraction>% ownership by Chinese investors, in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_SalgueiroSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_B9Zc3M7B60S0kM-UsATnZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Narr_yQ5t8B9puEeEfD1doiD29w">324</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_SalgueiroSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_QwmII3n2P024n2JLrEGA4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Narr_m9ZFvxbYYEilyktK-ZypEA">357</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, the Company sold modules to subsidiaries of Jaiba, the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_JaibaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_002Ji-v5gUy1Rgc2FkDeWA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_B_LLkoA7xkuJZt1x0PKA6Q">20</ix:nonFraction>% owned affiliate in Brazil with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_2po2badM3ECEuY8a15IDsg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_IfPTlulAA0yT3XmwHFtrRw">80</ix:nonFraction>% ownership by Chinese investors, in the amount of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_JaibaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_002Ji-v5gUy1Rgc2FkDeWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Narr_bURgNFHR00SqyR_xzu8iOw"><ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_UfbXzRo8LEKgLD_nlx2rzQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Narr_4y2S6QuTp0KS9wCgr0HAWg">7,090</ix:nonFraction></ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, 2022 and 2023, the Company provided battery energy storage solutions to subsidiaries of Crimson, the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_SE9CmfpHo0WMCROYzov2yg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_nu-GP5HjWkykjxv6-W8wTw"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ycc9qZBQk0mafxcjI8hU4Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_dog1IpgmLEKHb8OP8pQTYw"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_-1crGEqDbkSMds7G5qUdqg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction" scale="-2" id="Narr_jKeelU5b9UqJdK73uF4TkA">20</ix:nonFraction></ix:nonFraction></ix:nonFraction>% owned affiliate in the U.S. with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_aXw-tRWkLkywJBlWq8iaoQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_rTV71zLlQkCoc-IjbGR99Q"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_mKj85ykSDkyozgz43Uswsw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_h5WF5ftkskC7Rv730FZd-w"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Ud21gceMmEisGH9Zn4PJ2w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_j8cUlRDeH0Ka4nqZ6jI8Vg">80</ix:nonFraction></ix:nonFraction></ix:nonFraction>% ownership by a Canadian infrastructure fund, in the amounts of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_SE9CmfpHo0WMCROYzov2yg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Narr_bqMGezx6QE2-zNI-9LBzSw">19,777</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ycc9qZBQk0mafxcjI8hU4Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Narr__lcE0So59ky2u-3Z0x6f6A">367,383</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_-1crGEqDbkSMds7G5qUdqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Narr_JDOcn3HgkEKKC8kW0ZwNZw">17,182</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, 2022 and 2023, the Company purchased raw materials from Yancheng Jiwa New Material Technology Co., Ltd., the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_qpVSMivIa0mhw_oK0dMhlQ" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_JCmlha9MBk-sxDyihy4nPQ"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_IgpbAU-lsk23EMAxjJ_HlA" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_O-QN92vnoEunypfVavawTg"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_V7tC4d5DXEK-dBeLKqN8AA" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_DHz7xx5ED0SSlDUsSy-OmQ">10.91</ix:nonFraction></ix:nonFraction></ix:nonFraction>% owned affiliate with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_1-eSsyvD8keX69XYzYx7Xg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_iThwx4PZMEmdgM4TKn-jzw"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_FcvvE0HIBkWZqD8Hg-3FnQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_JHsRRZk8eU2vkP5iG5ddIA"><ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_DHZNwT3kuUu1FhkaKJdxRg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_W4VrEpmJZ0yFry6JIIvX7w">89.09</ix:nonFraction></ix:nonFraction></ix:nonFraction>% ownership by Chinese investors, in the amounts of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_qpVSMivIa0mhw_oK0dMhlQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_6Mn2WrGFX0yc3-EjsAWHNw">10,831</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_qpVSMivIa0mhw_oK0dMhlQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_si8G5ZC7skuUhu7vOOfJuw">1,688</ix:nonFraction>), RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_IgpbAU-lsk23EMAxjJ_HlA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_Ga9Op9C0l0Wr5-IwU4plVQ">34,772</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_IgpbAU-lsk23EMAxjJ_HlA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_pBMur_D7nU2-w-h5vA1e6g">5,192</ix:nonFraction>) and RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_V7tC4d5DXEK-dBeLKqN8AA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_GAhMZG2MvUu4atzwYHSIBQ">58,869</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_V7tC4d5DXEK-dBeLKqN8AA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_-k1ZRH7QKku-5XJA2IfrjQ">8,300</ix:nonFraction>), respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 2021, the Company purchased raw materials from Luoyang Jiwa New Material Technology Co., Ltd., the Company&#8217;s <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Xn-nDz_qwESLHVXBXN43_Q" decimals="4" format="ixt:numdotdecimal" name="csiq:PurchaseOfUnitsPercentage" scale="-2" id="Narr_0IZmpY5Jkku_XlVi7mXsRA">10.91</ix:nonFraction>% owned affiliate with the remaining <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_CounterpartyNameAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_OP-_1MLHEE-T8iAicucspg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_TqezQpKu2U2_iDy_DqmupA">89.09</ix:nonFraction>% ownership by Chinese investors, in the amount of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Xn-nDz_qwESLHVXBXN43_Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_W7tAgg7ilEKifitnb7UP5g">19,378</ix:nonFraction> ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Xn-nDz_qwESLHVXBXN43_Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty" scale="3" id="Narr_68KS-SKBlkGXOesxHXdk-A">2,995</ix:nonFraction>).</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-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, 2021, 2022 and 2023</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_m3jc-oScOEGzllPdnrKAsw_1_0"></a><a id="Tc_GZwhrmTe7Um1GU5Eq05LHQ_1_2"></a><a id="Tc_8hRaj1L54UO1BQll-Q_AKA_2_0"></a><a id="Tc_NYCAd7h1rUi3O4oK8IemHg_3_0"></a><a id="Tc_AaBCYypXsUaUiHvoga4Vug_4_0"></a><a id="Tc_zqDpMAPrykKVydO_uMTiag_5_0"></a><a id="Tc_lNUPMP1_f0OFn-gUscx7wg_6_0"></a><a id="Tc_7egS8wLQZ0yUBY_kuxGWmQ_7_0"></a><a id="Tc_CAlXw4u7-kO0i1jiOjt75g_1_0"></a><a id="Tc_BSq2WZLZeU6PVeSXB6yjKg_1_2"></a><a id="Tc_ApsODiTk2UKZinjlqdhNmw_2_0"></a><a id="Tc_BJ_3GMuIkkOpxudGXer-lA_3_0"></a><a id="Tc_x_-oxsK8hUyoHf_Cb8RgOg_4_0"></a><a id="Tc_nqbCKdQxP0KJI0cvU9Z3Sw_5_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="Tb_zvavpNSxiEaWSFz3cSFq3A" continuedAt="Tb_zvavpNSxiEaWSFz3cSFq3A_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 12pt 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, 2023, the commitments for the purchase of property, plant and equipment were approximately $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted" scale="3" id="Narr_d0-LG9V2B0-yjTD3VWjsLA">658,523</ix:nonFraction>, and the payment schedule for the commitments is as follow:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_PiE0TfW1AUOutloK5kVM5A" name="us-gaap:LongTermPurchaseCommitmentTextBlock" id="Tb_xC5uxYKuBkyQlToHCa7-Yg" 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;">2024</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInNextTwelveMonths" scale="3" id="Tc_4kVdVXE0_EOon9lTB1orTA_2_2">622,701</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;">2025</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInSecondYear" scale="3" id="Tc_QWTjOm4tT0qUOBZoUf7W7g_3_2">33,234</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;">2026</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInThirdYear" scale="3" id="Tc_P-O-ZThkrke5q4Z_prFz9A_4_2">2,562</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;">2027</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInFourthYear" scale="3" id="Tc_5LBkpUa8l067YZROK5-GuQ_5_2">9</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;">2028</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInFifthYear" scale="3" id="Tc_nPhMnPQwfkqTtJPpfjfLzw_6_2">17</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligation" scale="3" id="Tc_ck-ayWiNDE-zgfKiwQgHBw_7_2">658,523</ix:nonFraction></p></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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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, 2023, 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_AoFYNYKjuU-GZl3Fn-1t7w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted" scale="3" id="Narr__R54lkJWf0GiCrsI7EhGxQ">32,486</ix:nonFraction>, and the payment schedule for the commitments is as follow:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_CrJgS-1PZEmlOQNTc6kWzQ" name="us-gaap:LongTermPurchaseCommitmentTextBlock" id="Tb_OztFN0kSNEmQZTuLE9sX0w" 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;">2024</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_AoFYNYKjuU-GZl3Fn-1t7w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInNextTwelveMonths" scale="3" id="Tc_-WPpeJnbBEy50SXxdGK1Jg_2_2">29,715</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;">2025</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_AoFYNYKjuU-GZl3Fn-1t7w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInSecondYear" scale="3" id="Tc_pEIdRqkSd0mKGk7lmQd6Yg_3_2">2,425</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;">2026</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_AoFYNYKjuU-GZl3Fn-1t7w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligationDueInThirdYear" scale="3" id="Tc_1dWI8_i0KUWPPiwBiHEAnA_4_2">346</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_AoFYNYKjuU-GZl3Fn-1t7w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PurchaseObligation" scale="3" id="Tc_8VvWFnX850-OCvGaWw3MVQ_5_2">32,486</ix:nonFraction></p></td></tr></table></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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 0pt;"><i style="font-style:italic;">Class Action Lawsuits</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company and certain of its directors and executive officers were named as defendants in class action lawsuits in the U.S. and Canada alleging that its 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;">Canada Business Corporations Act</i> (the Company&#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 the Company or any of the other defendants. </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-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, 2021, 2022 and 2023</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_zvavpNSxiEaWSFz3cSFq3A_cont1" continuedAt="Tb_zvavpNSxiEaWSFz3cSFq3A_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES (Continued)</b></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;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar 1 China</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_MBW8oUnAgUudnO5uHUqUKw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_jJSylkpuAEiXyYyNBw1jDQ">13.94</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_MBW8oUnAgUudnO5uHUqUKw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_5lXpVkpobEmwrnD3Wn2kbw">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 12pt 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-indent:18pt;margin:0pt 0pt 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2015_To_7_31_2015_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarOneMember_mPGwyYJ960uoI_aWd8xtpg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_MQrdsfMUjUatpHuyH_U68g">9.67</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2015_To_7_31_2015_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarOneMember_mPGwyYJ960uoI_aWd8xtpg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_o5lHbnbUT0aT0uEmCnYsPQ">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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_6_1_2016_To_6_30_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_kgm7rOfsS0Cxz5V-BmWwTg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_-tsquttyb0Oq_4KoglzTAw">8.52</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_5_1_2016_To_5_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_eSKnaSta_EWT9gC26WDbjQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_OHBB6YmIWUWaAYiYISxVXQ">9.67</ix:nonFraction>%) and then to <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2016_To_7_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_uAufb-IwRUGsBhfSUPNKLw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_xAlTTUcYVkqGSUd1Pgaz9w">3.96</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_6_1_2016_To_6_30_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_kgm7rOfsS0Cxz5V-BmWwTg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_Y94j8m5PrECDqo8fGYl7bA">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2016_To_7_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_uAufb-IwRUGsBhfSUPNKLw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_-JGXnR5Kz0WBAdgsxhRJ3g">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_89XR2Wp0S0OHX4lhawwhvA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_lACiHJYOGEex2pzVI06lRw">0.00</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_RuoRRxQF70qeA1lF3M-B5g" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_DSOEoLRvTk2v4V3rWptRiQ">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></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, 2021, 2022 and 2023</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><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_zvavpNSxiEaWSFz3cSFq3A_cont2" continuedAt="Tb_zvavpNSxiEaWSFz3cSFq3A_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES (Continued)</b></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;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_Nbi0w7IM3UGjl2_nyZoxEA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_YfDu-7gBJkyv8OeGSUbr_Q">13.07</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_1_2017_To_9_30_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_oo0O3SSRjkCKQ99nXyeoxw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_oCIq2Q2yeEidwGy0dQ7DRA">8.52</ix:nonFraction>%) (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_Nbi0w7IM3UGjl2_nyZoxEA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_wQtt5fMo10Wy2uD9m8DRYw">18.16</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_1_2017_To_9_30_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_oo0O3SSRjkCKQ99nXyeoxw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_wdxariRi50GmwOYkOdx74w">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_4_1_2020_To_4_30_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_KGHFyhoxbUWAVoYDdolYdg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_UzxGQo-uy0O-pOfmrPOKHw">4.12</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_Nbi0w7IM3UGjl2_nyZoxEA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_zXk3OeAN3UC61Kfkd8NlLw">13.07</ix:nonFraction>%) and then further to <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_5_1_2020_To_5_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_Sb2yRTyyz0WbYmi2bAwdpQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_yPkB914Wr0yQxVvSFPBVkg">3.19</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_4_1_2020_To_4_30_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_KGHFyhoxbUWAVoYDdolYdg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_pgo9ir4cHUWtV_g1Zv7nGg">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_PZffFnR0Q0uC5XvQ2E8r3g" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_YPF4xvl_4UG_7vCy1e0ojg">0.00</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_1RQCOAUCVkKiIAp6Da30dA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_SyRbKMC1_UaHC2h0eh1NXg">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_8_1_2020_To_8_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_SdA_5OylzUOkk-3trXIAOw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_MSRNobH2NE2HZ71DOUNkbw">7.36</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2020_To_7_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_IXHrrCsWnEeLYY95Y9ydzQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_gWpHxqIG50eLPvdTuz7wUw">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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_-KUZuvMyY0OIcJ8B7Vjqlg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_MxHd0p7g5EyNfg1lh2KQcw">13.07</ix:nonFraction>%. In this review, the countervailing duty rate applicable to the Company was reduced to <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_5szvLrOszEetgJ6TcfXe2g" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_o2Ug_M3VtkWF_WuDE_SrEA">11.59</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_1_2018_To_9_30_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_PfYz0yFd7UO7cdawl0af5A" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_eEDGIzTYNkinx4q8uFqvqQ">18.16</ix:nonFraction>%) for the broader Company and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_10_1_2018_To_10_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_ixvQ4Q8TFECHwsJUwHx-ag" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_v8XWz3rVvEGfAKwWuZlIaw">10.64</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_1_2018_To_9_30_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_sCDfNA_zlESeRYp7ejyFfw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_fmSYcZfCb0-iasoGE7haUA">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember__l7g0T_liUSXoMOtd6qHNQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_f29nSr4DFECIIRaPR5II9w">5.02</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_5szvLrOszEetgJ6TcfXe2g" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_z2U-FuyRkUSI4k8wql8OcQ">11.59</ix:nonFraction>%) for the broader Company and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_iyfwX_3N6EWKlPAwO_saPQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_lUeynGn9nUiiPcYcnlytOA">4.22</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_10_1_2018_To_10_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_ixvQ4Q8TFECHwsJUwHx-ag" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_WRMG4VXfnUqjFjYAT_wyZQ">10.64</ix:nonFraction>)% 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;text-indent:18pt;margin:0pt 0pt 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_5bjvopJ-1kaQZedS48lUgA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr__egCQbUR0Ee2f59xKcfufw">4.06</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2018_To_7_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_AUuJaAgpK0qW1mkmsVnVhg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_qpv88jkj4EyJaaeslfzCCA">13.07</ix:nonFraction>%). The countervailing duty rate applicable to the Company was reduced to <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_5bjvopJ-1kaQZedS48lUgA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_vb-tmybLxEuhK8m4Ml7RvQ">9.70</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_O-McbgaYy0OK2DRThtIfiw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_GaiMWzflC0yELqO3FU9YKw">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_PxUdFumf9k-pizc28y3_9Q" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_-N5A63SJzk2CvBGLtrbX6Q">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2019_To_7_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_DwwoB_GK5Ea3DYk4s40iJA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_DGdKuv72VkqrtAxwmPlK1Q">3.30</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_5bjvopJ-1kaQZedS48lUgA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_4vdxkk-8Xk6huH--RFv23A">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_5_1_2021_To_5_31_2021_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_qhX774MnukqIoaOqh6w9yQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_r-L0tJi18kGkZjzJ2y0_kg">3.65</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_4_1_2021_To_4_30_2021_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_Sm1KCi8jiUyEL0QqDXV9UQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_G_o2ZWilc0m9ymhP2ZiXNA">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></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, 2021, 2022 and 2023</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_zvavpNSxiEaWSFz3cSFq3A_cont3" continuedAt="Tb_zvavpNSxiEaWSFz3cSFq3A_cont4"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES (Continued)</b></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;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_10_1_2020_To_10_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_8DKp1TAD7kCC4CXW7MrVVw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_YXTxHKS0qUaiWu0JJDwCZQ">68.93</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_11_1_2020_To_11_30_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_EckpAfuLFUCVKmVwLonw1g" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_ecbJlMs9XkqZlCUF-frhYw">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_kPg-x5rcIUaT-agD-nmATg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_uzM6T2szpEq1hyxWvyzARQ">95.50</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_G0VhCxDLwUK9GRSY5bFNxg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_FZUcwSgI5E6LL0vHBhn9Ug">68.93</ix:nonFraction>%). USDOC assessed a countervailing duty rate of <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_kPg-x5rcIUaT-agD-nmATg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_4AnZv8fHTEa_wISzfHIVwg">12.67</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_yXA-ayxWUEiTTjWBeLKEwA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_4rOU0Y2ZH0-yVtDo345QnQ">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_lfxIHvS12EO8acPiljynRg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_MGJp-9fWsU2Pnpp1KjsbnA">11.97</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_kPg-x5rcIUaT-agD-nmATg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_lRZDFK3FG0G1Jsp1uRmmmA">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&#8217;s remand order, the USDOC made a redetermination that reduced the Company&#8217;s antidumping duty rate to <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_3_1_2023_To_3_31_2023_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_Q8Rzd5gZVEObciQqjwCE5A" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_XNXb-p4RXkiG_4ayaOKYNg">23.02</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_vM2Lm382lk6D4F3aweF9Pw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_alLx9bYz6UmIlPcA3XuwwA">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_3_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_FD4bAw49Uku-67u6a8uHyw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_Suf41j-WukOPyRe-SFS64w">11.97</ix:nonFraction>%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_10_1_2021_To_10_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_hukhFcXhDkCcgWiOxgHQvQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_abVaqpyC-U-ZSUNQg_04ng">0.00</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_3qvD5LTXU0GhruP5UsITeA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_RyB-6x8znkSMoPU4hU965A">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_3CFW47ounUeMsWfyd45nvQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_Tku4vnoDtEqDrTJNNym7LQ">19.28</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_KOuy-J1ps0qjj2hDe8kQ7Q" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_ShT2-YVAYkmy5yegZNHu2A">11.97</ix:nonFraction>%). USDOC did not change the rate of <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_KOuy-J1ps0qjj2hDe8kQ7Q" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_baA_r9H1skiaCOBwExbX1w">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_10_1_2021_To_10_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_hukhFcXhDkCcgWiOxgHQvQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_ikQGpJvLpkKSaxPpfM2VZg">0.00</ix:nonFraction>% and the Company&#8217;s countervailing duty rate is expected to remain at <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_3CFW47ounUeMsWfyd45nvQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_hz86wbgPs0uMtEUv2oTpBA">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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_6_1_2022_To_6_30_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_VutT7k3FMUet_UXlb-i9Rg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_UqKkHY5pRkyeKY_4ZMCZRA">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_8_1_2022_To_8_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_YmlVGq_lzkGer9Zdcx9xxQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_c1c6CNOhVEO-hgOHfH_tcw">15.75</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2022_To_7_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_uG5SlgRCJEW02OHHvKL_EQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_sArw06lQgU-4LAwnJpXkTw">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_1_2022_To_9_1_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_BQcztLydUkaJeSUcbtoZOA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_oFeWWnKrEEuORtvQrVMsdw">15.87</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_8_1_2022_To_8_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_YmlVGq_lzkGer9Zdcx9xxQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_kMEzWNxO3kGs0JlMWSUh0g">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_1_2022_To_9_1_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_BQcztLydUkaJeSUcbtoZOA" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_6fbvqi5QWE6t__FsDyZdrQ">15.87</ix:nonFraction>%.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The USDOC published the final results of the ninth administrative reviews in July 2023. The USDOC determined that the Canadian Solar entities subject to the ninth 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2023_To_7_31_2023_srt_LitigationCaseAxis_csiq_NinthAdministrativeReviewOfSolarOneMember_aA2F1Vd47kCP_OgUX76-Ww" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_FdsQaG_o8UKCpnn9jntYJQ">0.00</ix:nonFraction>)% will remain unchanged for its Solar 1 CSPV products. The USDOC did not change the Company&#8217;s countervailing duty rate of <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_1_2022_To_9_30_2022_srt_LitigationCaseAxis_csiq_NinthAdministrativeReviewOfSolarOneMember_fxd3ftggRkm2WQfyGJt7Cw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_eVv1z8vCA0G68fxZ7Uq8IQ">15.87</ix:nonFraction>% because the countervailing duty review was rescinded for the Canadian Solar entities subject to the ninth countervailing duty administrative review. The countervailing duty final results were amended in August 2023, but this amendment resulted in no change to USDOC&#8217;s determination to rescind the review with respect to the Company. The Company did not appeal USDOC&#8217;s final results of its ninth administrative reviews and, therefore, these decisions are final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The tenth and eleventh antidumping duty and countervailing duty administrative reviews were initiated in February 2023 and February 2024 and are currently underway. The USDOC is currently scheduled to release the final results of the tenth antidumping and countervailing duty administrative reviews in May 2024, subject to potential extensions. The Company submitted a no-shipment certification in the tenth administrative reviews. In its preliminary results, USDOC preliminarily determined that the Company had no shipments and stated its intent to rescind the reviews for the Company. The Company&#8217;s antidumping duty and countervailing duty rates, therefore, are expected to remain the same at <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_2_1_2023_To_2_28_2023_srt_LitigationCaseAxis_csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember_skyJxd9QK0iQ82WszYi2Rw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_bgA8I0Wknk66OIMZcNsRIQ">0.00</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_2_1_2024_To_2_29_2024_srt_LitigationCaseAxis_csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember_-CaVnWmnQkyRGKgKo6s4tg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_OXBN-9ELhku6SX_xDkifCA">15.87</ix:nonFraction>%, respectively. USDOC will likely issue preliminary results of the eleventh administrative reviews in late 2024 or early 2025.</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, 2021, 2022 and 2023</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_zvavpNSxiEaWSFz3cSFq3A_cont4" continuedAt="Tb_zvavpNSxiEaWSFz3cSFq3A_cont5"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES (Continued)</b></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;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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. 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. In February 2024, the USDOC and USITC initiated the second five - year sunset reviews of the Solar 1 antidumping and countervailing duty orders, and those sunset reviews are currently underway.</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 2 China</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_21_2015_To_1_21_2015_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_OF5CM1u4b06EQxkSxkVnDg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_YQiv1DWzv0y9J1zzr0aW-Q">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_21_2015_To_1_21_2015_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_OF5CM1u4b06EQxkSxkVnDg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_PQ7RBpsBzEiMFe4GQNi4xA">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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_3_1_2019_To_3_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_MHzyFRF_MUOHhrJgKhNZow" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_lmTSyP3DhE6afk51ArRsFA">33.58</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_2_1_2019_To_2_28_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_D_nrzaV4fUmGZi11rL2kcw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_McmLFIq7KEKj6DbvF3Nvkg">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 12pt 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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Hx2NWKrpBk2J0cOeH6qlkQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_Y3QWs2et0Eef8k449LRttQ">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Hx2NWKrpBk2J0cOeH6qlkQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_GmAJnFfcWUOp3K0PweQkNQ">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_WdWpAqLWpEG6wSdz1CZzVQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_nUZdpKL7_UyAofaZXJkc1Q">3.56</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_ShbveCe6ZEWydSoLGHURoQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_pXGJIRiRYU2rB79OlFAPvQ">4.20</ix:nonFraction>%, until they were changed to <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_HXuLyZ2gsEGoRT7Jeb7aww" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_PBjbd6KnWUu6tsdWc5I-aA">1.52</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_BpcVD74KVU2EtLP5wyOXdw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_aumlICEARUK4aK9yled3-A">3.78</ix:nonFraction>% in June 2019.</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-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, 2021, 2022 and 2023</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_zvavpNSxiEaWSFz3cSFq3A_cont5" continuedAt="Tb_zvavpNSxiEaWSFz3cSFq3A_cont6"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Sks3iFA59k2qPAMbjDGAhg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_Ph0uj0eh20iwG-tods59ng">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Sks3iFA59k2qPAMbjDGAhg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_DWqjf3b5AkWcswCnnvUhCg">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Sks3iFA59k2qPAMbjDGAhg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_x66f-O5160WOgUtGvsJgew">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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Z5MXXKLn0kydFbIL5W2GOw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_GZKKOMK8qEi_Jo6qEYQGFA">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Z5MXXKLn0kydFbIL5W2GOw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_rA7eg1MBsECMGSvndtyqEw">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Z5MXXKLn0kydFbIL5W2GOw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_cSBMTR5o-ESxCffqHWzRtg">4.39</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Sks3iFA59k2qPAMbjDGAhg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_7wccayzwXE2tNktSEXHQ5g">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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_3tfUf-3mtEmOpVSni7ayGg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_LnRfqpnr30iQGSs-N4lw3Q">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_3tfUf-3mtEmOpVSni7ayGg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_3FGOqWwG3Uy9XK3JsVwKkQ">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_3tfUf-3mtEmOpVSni7ayGg" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_xbopmLj2702rrooFFck4iQ">2.57</ix:nonFraction>% (from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Z5MXXKLn0kydFbIL5W2GOw" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" scale="-2" id="Narr_FG5XmgfxvkmQHthpdCXs6g">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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_fMAuhT758EmMQd-wWfPI7w" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_bDUaxox1BEOGNEzDZSR_YA">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_fMAuhT758EmMQd-wWfPI7w" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_yKA1cgfv8kOUwTGTYOZZqg">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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_fMAuhT758EmMQd-wWfPI7w" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_8rQ8RWdZ4kWP5ibd_eYkgA">30.06</ix:nonFraction>% (antidumping duty) and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_fMAuhT758EmMQd-wWfPI7w" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_uzYHVN6cM0aAAFSRVWydeA">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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_4_1_2022_To_4_30_2022_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarTwoMember_kCATClntzkuCy7-CFeGS4A" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_EUEdhLlSqUOqsFYoC5KOrA">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></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, 2021, 2022 and 2023</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_zvavpNSxiEaWSFz3cSFq3A_cont6" continuedAt="Tb_zvavpNSxiEaWSFz3cSFq3A_cont7"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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 9pt 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 rescinded the eighth administrative review of the Solar 2 China antidumping duty order in July 2023 and therefore, the Company&#8217;s antidumping duty rates will remain unchanged for its Solar 2 China CSPV products. 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarTwoMember_AkAG_jMUpE2ucQB4CtwQiQ" decimals="4" format="ixt:numdotdecimal" name="csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" scale="-2" id="Narr_ZqixI7omrU-iSSAi-ZXu5g">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 9pt 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 10pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar 3 Southeast Asia</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 9pt 0pt;">On April 24, 2024, the American Alliance for Solar Manufacturing Trade Committee filed petitions requesting that the USDOC and USITC initiate investigations into whether new AD/CVD duties should be imposed on CSPV cells and modules imported from Cambodia, Malaysia, Thailand, and Vietnam. If the USDOC and USITC initiate these investigations, there is the potential for significant disruptions to imports of solar cells and modules from Cambodia, Malaysia, Thailand (including by Canadian Solar Manufacturing (Thailand) Co., Ltd.), and Vietnam. The USITC will issue its preliminary determinaton on June 7, 2024, and USDOC will likely announce its AD and CVD preliminary determinations on or around September 30 and November 27, 2024, respectively. Canadian Solar is reviewing the petitions, assessing the potential impacts on the Company, and determining appropriate actions to defend its interests.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Section 201 Safeguard</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 9pt 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;text-indent:18pt;margin:0pt 0pt 9pt 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;">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, </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, 2021, 2022 and 2023</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_zvavpNSxiEaWSFz3cSFq3A_cont7" continuedAt="Tb_zvavpNSxiEaWSFz3cSFq3A_cont8"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 9pt 0pt;">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 9pt 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;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES (Continued)</b></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;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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-indent:18pt;margin:0pt 0pt 12pt 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. In November 2023, the Federal Circuit reversed and remanded the CIT&#8217;s judgment, finding that the President had acted lawfully in issuing Proclamation 10101. Appellees have filed a petition for en banc rehearing in January 2024, and the Federal Circuit&#8217;s decision on the petition is pending. In October 2022, the Company filed an appeal at the CIT 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 had previously ruled &#8220;null and void&#8221; in SEIA. The Company&#8217;s appeal remains stayed pending final resolution of the SEIA appeal at the Federal Circuit.</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-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, 2021, 2022 and 2023</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_zvavpNSxiEaWSFz3cSFq3A_cont8" continuedAt="Tb_zvavpNSxiEaWSFz3cSFq3A_cont9"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 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;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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;">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;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">In late 2023, the USITC conducted its second midterm review of the safeguard measure, issuing its monitoring report in February 2024. The President must consider the USITC&#8217;s views but is not required to act prior to the expiration of the safeguard in February 2026.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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 10pt 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 10pt 0pt;">On April 1, 2020, the CITT initiated the expiry review which 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 and declined to make a product exclusion on the Order for bifacial PV modules consisting of either <ix:nonFraction unitRef="Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw" contextRef="Duration_4_1_2020_To_4_30_2020_BsJ8sFNrzUOWhL7oL8shQQ" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfMonocrystallineSiliconPhotovoltaicCells" scale="0" id="Narr_DXkQjiStQk6NzBueMzx5JA">72</ix:nonFraction> monocrystalline silicon photovoltaic cells or <ix:nonFraction unitRef="Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw" contextRef="Duration_4_1_2020_To_4_30_2020_BsJ8sFNrzUOWhL7oL8shQQ" decimals="INF" format="ixt:numdotdecimal" name="csiq:NumberOfMonocrystallineSiliconPhotovoltaicHalfCells" scale="0" id="Narr_NggYd2zj80OMWXYF7kdgew">144</ix:nonFraction> monocrystalline silicon photovoltaic half-cells, with a power output exceeding 515 Watts and module efficiency exceeding <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_4_1_2020_To_4_30_2020_BsJ8sFNrzUOWhL7oL8shQQ" decimals="3" format="ixt:numdotdecimal" name="csiq:MinimumModuleEfficiency" scale="-2" id="Narr_EFcFahkZ7kGuObjPMT2SdQ">20.5</ix:nonFraction>%. 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 before the scheduled termination of the Order on March 24, 2026.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Patent Dispute</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">On March 25, 2024, Maxeon Solar Pte. Ltd. (&#8220;Maxeon&#8221;) filed a patent infringement lawsuit against Canadian Solar, Inc. in the U.S. District Court for the Eastern District of Texas. Maxeon alleges that by manufacturing, importing, selling, or offering for sale of its TOPCon (Tunnel Oxide Passivated Contact) solar modules in the United States, Canadian Solar, Inc., via its affiliates, has directly and indirectly infringed and continues to infringe upon three patents currently held by Maxeon. The three patents asserted by Maxeon are U.S. Patent Nos. 8222516, 8878053, and 11251315. Maxeon&#8217;s complaint requests the Court to grant, among other relief, a permanent injunction enjoining Canadian Solar, Inc. from the alleged infringement, and a judgment for monetary damages and fees. The specific amount of monetary damages has not been identified. Based on its preliminary assessment, the Company believes that its TOPCon solar modules do not infringe Maxeon&#8217;s asserted patents and intends to vigorously defend itself in the lawsuit.</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-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, 2021, 2022 and 2023</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_zvavpNSxiEaWSFz3cSFq3A_cont9" continuedAt="Tb_zvavpNSxiEaWSFz3cSFq3A_cont10"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">From time to time, the Company receives claims that its products infringe patents of third parties. Although the Company has been able to resolve all of those claims or potential claims without a material adverse effect on the Company, other claims are pending, which if resolved unfavorably to the Company could have a material adverse effect on its business and 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></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-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, 2021, 2022 and 2023</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_zvavpNSxiEaWSFz3cSFq3A_cont10"></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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:SegmentReportingDisclosureTextBlock" id="Tb_2EZ90Q5420S1qR5SpkbHTg" continuedAt="Tb_2EZ90Q5420S1qR5SpkbHTg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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;">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. To align with the objective of ASC 280, Segment Reporting (&#8220;Topic 280&#8221;) and to present the Company&#8217;s disaggregated financial information consistent with the management approach, the Company reported its financial performance, including revenue, gross profit and income from operations, based on the following <ix:nonFraction unitRef="Unit_Standard_segment_uP6_O8BSvki0TrrpY9QbPQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_baAVLnka4k6Q5k3R58ponQ">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 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 and battery energy storage manufacturing, and delivery of total system solutions, including inverters, solar system kits and EPC (engineering, procurement, and construction) services. CSI Solar&#8217;s e - STORAGE branded battery energy storage business includes its utility - scale turnkey battery system solutions, as well as a small but growing residential battery energy storage business. 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;">Recurrent Energy</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which is the Company&#8217;s clean energy project development platform with 15 years of experience delivering solar power and battery energy storage projects. It is vertically integrated and has strong expertise in greenfield origination, development, financing, execution, operations and maintenance, and asset management.</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 energy storage solutions sales from the Company&#8217;s CSI Solar business to its Recurrent 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, gross profit and income from operations, 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-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, 2021, 2022 and 2023</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_2VsXtQL8PEGVwePJPv7XCw_1_2"></a><a id="Tc_zQ2I1CW_lES06wbCN1_1qQ_2_6"></a><a id="Tc_U8YQujmUL0WDRkmNOl4SIg_3_6"></a><a id="Tc_4NPLQ6qalEmZJDkNvUK0GA_4_4"></a><a id="Tc_g1g0X0oaS0aUZLwWwe8-kA_4_6"></a><a id="Tc_PFBnhHoPDE6wAoiK7UaVcg_5_2"></a><a id="Tc_DDpjRTWvskibcVeYESfo9Q_5_4"></a><a id="Tc_7WfZUGEpi02XrYFnYVEjsA_5_6"></a><a id="Tc_SRyBibM3L0e6BO8qJfXxvg_5_8"></a><a id="Tc_tEufNeSL5UiSQtNwKwfY8w_6_2"></a><a id="Tc_0eTBJN2J2kK9R99a0jjtDA_6_4"></a><a id="Tc_fw-M8VPJMkOFuSnG6WNVmg_6_6"></a><a id="Tc_eqoETVD76ECKrhkDIYdKbQ_6_8"></a><a id="Tc_PM8csyUYdEaePHpXv-oEOw_7_0"></a><a id="Tc_ZaNBh7LIUU-fALKtfKrEFQ_8_0"></a><a id="Tc_ggSl-nOrE0SxAuvHD72x5g_9_0"></a><a id="Tc_5x0ScEB7-ka22jJ97298ow_10_0"></a><a id="_377663b5_d049_4c06_91a5_9a525cad8cc7"></a><a id="Tc_c8CoB9m8vU-8vwq8PeJ-zw_1_2"></a><a id="Tc_psNJR9F-ukigXiWu-Uo1VA_2_6"></a><a id="Tc_WncbNEu6VkSc3gRivEeTsg_3_6"></a><a id="Tc_indW7pBPpECN1_8xCX2IBA_4_4"></a><a id="Tc_lMLMlV4-S0WgYSRpVRAsJQ_4_6"></a><a id="Tc_RWmXScSF0E646fDFhEvxKQ_5_2"></a><a id="Tc_XztEQNxxFkaGs_BvXPHxhw_5_4"></a><a id="Tc_IXqvBuIpJk-NPMI6aSWv3Q_5_6"></a><a id="Tc_8VBiOZlW_Umzv6TehrAJ1Q_5_8"></a><a id="Tc_QjZiKsIG1EyT0MIoRNJgHg_6_2"></a><a id="Tc_ZrtUsAMJ1kGsl4dwNeI_IA_6_4"></a><a id="Tc_kS3jgpImxUmLKqAYWU7dgQ_6_6"></a><a id="Tc_57SYGECNwkCgpHzYqJqSNA_6_8"></a><a id="Tc_mpI-8lO-rUaXixocM5a29g_7_0"></a><a id="Tc_on833ovYQke2uJLFc9zOxg_8_0"></a><a id="Tc_993PmHiqBES0LWQ123kAfw_9_0"></a><a id="Tc_zjnePcqSZ0u1QgqW2Q2dbg_10_0"></a><a id="_ba958959_fcba_478a_b3b6_8139a7ffbcc9"></a><a id="Tc_1rqh40xYUEeIpaqfykpvBw_1_2"></a><a id="Tc_h678V_47GUuemK_I4-Mt-A_2_6"></a><a id="Tc_8PxZ1wFI0k2O4Q1gK351sw_3_6"></a><a id="Tc_NMo4sllddU6-B2UQ8s8oGw_4_4"></a><a id="Tc_noMgGrVaU0qqH1FEMwb4gQ_4_6"></a><a id="Tc_IYY53LCymkaE5-4dHGY8hA_5_2"></a><a id="Tc__LUuCYAJuEWoJ6CAhVtnZA_5_4"></a><a id="Tc_nTCnu4f-QEyL5Bxd-irVMw_5_6"></a><a id="Tc_m5XpDE7WBk-z9Zlps8zVVA_5_8"></a><a id="Tc_Geq3W5F2FkKMfLPhe72Siw_6_2"></a><a id="Tc_7j8cl7VccEaBMaEZ5grt7Q_6_4"></a><a id="Tc_W4HU4yYpJkCQWm2-OomZoQ_6_6"></a><a id="Tc__w5cgs52rUOc4Xxg4kPo6g_6_8"></a><a id="Tc_DnNUcWmjRkygQScXz-Fd8g_7_0"></a><a id="Tc_4k-ggreetESEnDtjxN9uqA_8_0"></a><a id="Tc_Gc9bItOzQUO8FSwiQ15tbw_9_0"></a><a id="Tc_wDHm_nEcq0eygwtt2pNdEw_10_0"></a><ix:continuation id="Tb_2EZ90Q5420S1qR5SpkbHTg_cont1" continuedAt="Tb_2EZ90Q5420S1qR5SpkbHTg_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="Tb_azd5Q57e_0OCbHmhtoMT0Q" 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, 2023</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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recurrent</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;">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;">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zinVFX3aokanfDZRgZkXQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_lwnXaPhqokmIIp29t46QIg_7_2">7,230,550</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_bHo0HXx1D0uwA9lxh-JWVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_gvFe_zmy0k6dTneOyzDv-w_7_4">497,653</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qu1OMIJPIkuk-CFSjk6hnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" sign="-" scale="3" id="Tc_tEQOvtLT6USg-q05G7Fk_Q_7_6">114,577</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_cl2rboqT7ES4JqnIsojkZQ_7_8">7,613,626</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zinVFX3aokanfDZRgZkXQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_JZnd5m3NOUiIn4iw5T-mqg_8_2">6,121,332</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_bHo0HXx1D0uwA9lxh-JWVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_z04vsxjpYE-0QAaPziB1ag_8_4">292,926</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qu1OMIJPIkuk-CFSjk6hnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" sign="-" scale="3" id="Tc_5IaCuk0ZGEK1Xr1gmzqNnw_8_6">80,615</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_41oeJM6XP0mZdTYfdmhw9A_8_8">6,333,643</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zinVFX3aokanfDZRgZkXQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_Ycb6lTSEaEW_wXVu1ya4aw_9_2">1,109,218</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_bHo0HXx1D0uwA9lxh-JWVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_Y9IyxXealkO1nB_oGl1fFg_9_4">204,727</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qu1OMIJPIkuk-CFSjk6hnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" sign="-" scale="3" id="Tc_UZG4pfrHbki_SxS23ai5QQ_9_6">33,962</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_izzONrMIe0-yizs5D8iuEw_9_8">1,279,983</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zinVFX3aokanfDZRgZkXQw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_HJSgyOBeQUGDEiUhf0Bk7Q_10_2">456,083</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_bHo0HXx1D0uwA9lxh-JWVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_4wr4NZ7WlECdPHG_zSMYBQ_10_4">96,621</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qu1OMIJPIkuk-CFSjk6hnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_ydlmZDzaiEyhh5HSnDDRQw_10_6">99,384</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_-bMWcRTtmkCkduc5RJca2w_10_8">453,320</ix:nonFraction></p></td></tr></table><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: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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recurrent</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;">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;">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_hjI2PV1IrEShhHY3CZuoPQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Hcp6lF2-WUOFxPmiVSTlXw_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_EijStfG6KUGjlSxi6sTKww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_6Dv96pw2AkCBIiwP839XCw_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_zB9vTCyNQEmqlzOtiZjn1g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" sign="-" scale="3" id="Tc_ig_yE2xawkCBN7d30CUFug_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_dTjypRsH9EaxFpMaSvcilQ_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_hjI2PV1IrEShhHY3CZuoPQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_D0iLAPmcnU6m6wq5fsTg9w_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_EijStfG6KUGjlSxi6sTKww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_JRg1e8sz40WR4EUzo9R66Q_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_zB9vTCyNQEmqlzOtiZjn1g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" sign="-" scale="3" id="Tc_e1AaTfxBnk2P_cfbYm7NAg_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_nxrbBSJA302sEpZF2WFLsQ_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_hjI2PV1IrEShhHY3CZuoPQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_iZ_FyPzFZ0WyIMnLsz-vKw_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_EijStfG6KUGjlSxi6sTKww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_F3I9Y27pkUGFDtDHWN2Mbg_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_zB9vTCyNQEmqlzOtiZjn1g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" sign="-" scale="3" id="Tc_NketFcAKxUqDQL-I-3CezQ_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_x_1-3ByIxEKb0Tq_oFoP_w_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_hjI2PV1IrEShhHY3CZuoPQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_9nwKD4-QTk-Hu4_J5lczGQ_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_EijStfG6KUGjlSxi6sTKww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc__gz-NPvrAEygL6Z_F5W1yw_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_zB9vTCyNQEmqlzOtiZjn1g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_jjOGx5CJYUS0AYzOSlo0CQ_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_1FLSSY7l50OEP4eZ8vnWGQ_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><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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recurrent</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;">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;">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_kRfzJhOT60KDxqhzmODneA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_-eyNKijedkyzwBxQrsYUEQ_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;">&#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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_rzCETBtpCEC-C092Ogt9WA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_u-Cjvf-RR06hyNDVWQkDgw_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_OlTRk41z-UmMX4uslYPZRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" sign="-" scale="3" id="Tc_vM20KlB8aU6EdGHdiTycOQ_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_LCkNDkJYLkapdaVCc8wswA_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_kRfzJhOT60KDxqhzmODneA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_4TXMgyl-u0KRCLPsD8zzlg_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;">&#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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_rzCETBtpCEC-C092Ogt9WA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_nBW-zVoj5U6X6Fljsmk1wQ_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_OlTRk41z-UmMX4uslYPZRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" sign="-" scale="3" id="Tc_gJg0d2pOMkO6H0vMRDE0zA_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="Tc_1uRsVmT2Wk6EJAVmJ3AMrw_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_kRfzJhOT60KDxqhzmODneA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_6ue8PXspOE-sZEfBiVUgcQ_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;">&#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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_rzCETBtpCEC-C092Ogt9WA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_kLtbJAPk80Gdb4QLsLqZAQ_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_OlTRk41z-UmMX4uslYPZRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_57O3DaERx0aquvozMbql1g_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_GYN4Lz8QmUqTeaL_2TLuQw_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_kRfzJhOT60KDxqhzmODneA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_CTimtp55l0CI0FsTTBe62w_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_rzCETBtpCEC-C092Ogt9WA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_JxgNOqHuuUaO6QTkmHBvhA_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_OlTRk41z-UmMX4uslYPZRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_AKu0E0LFL0eBGNt8R8pHAQ_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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="Tc_4oRAwvsYTE-hR-WmSt-TPA_10_8">190,381</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_uP6_O8BSvki0TrrpY9QbPQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_uc_wxZWhiEmx348fGyHjvg">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-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, 2021, 2022 and 2023</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_6K3jqgq3UUSospfNYFyJeA_1_2"></a><a id="Tc_DNy1S4QjYkiGzqSVyrwEMg_2_2"></a><a id="Tc_AU1CGSa0yECvjDcYdvdz5g_2_4"></a><a id="Tc_KWkajAO2TUmswW8vTMoCrg_2_6"></a><a id="Tc_nF-F1L7YDkGxl47nvdpRZA_3_2"></a><a id="Tc_GdKb1aUTn0m1lJ3T3Ncj1g_3_4"></a><a id="Tc_pr673KWbU0CijXoOldVOpw_3_6"></a><a id="Tc_PrRa8j3szkeNGMspUWyQ0w_4_0"></a><a id="Tc_aXEBlCrkrUu3C6887wuvVw_5_0"></a><a id="Tc_kj_EdHg_J0iK4So9HMpraw_6_0"></a><a id="Tc_mPSxj0vsaUOcYnAZq-viSQ_7_0"></a><a id="Tc_NFckPqvY7k2OnO1g6J95hg_8_0"></a><a id="Tc_oDcNNlsKkU-qtgb4cSApXQ_9_0"></a><a id="Tc_387j3rCujkmyz_iuvBpfQg_10_0"></a><a id="Tc_aYEeSQKsmU2eIRQ-OSMetg_11_0"></a><a id="Tc_XieloWCmjUGHmq1vkOQB4w_13_0"></a><a id="Tc_bqTbkYu7gEqw0ArYPagCyw_14_0"></a><a id="Tc_AAnnnEJwlEGclyd9g3QJWQ_15_0"></a><a id="Tc_I8_mCY5jPUmqATKRBNC0sQ_16_0"></a><a id="Tc_2UmKg1zysUi6xKdd5k4qaA_17_0"></a><a id="Tc_Y7qNJLNnu0uYZ5MwvMhPSw_18_0"></a><a id="Tc_n_WHNBJ9ak2mgyXyxClnrw_19_0"></a><a id="Tc_BhX4vn_HXU-kR8-lIjWRRg_20_0"></a><a id="Tc_u2dW5_vSOUyhVWl92tBS4Q_21_0"></a><a id="Tc_F0KElRcGz0mcsr7k4R7fMg_22_0"></a><a id="Tc_flDroNpr9k-m50HDbKRYrg_23_0"></a><a id="Tc_VKoA2lc7GkSXNUDYC98XzQ_24_0"></a><a id="Tc_TSExLdGbhkGVxrkk5T2yxQ_26_0"></a><a id="Tc_gD7As1aT1kmiOffEE9XtZw_27_0"></a><a id="Tc_hwuYP25GRE241g-rtvw-2g_28_0"></a><a id="Tc_X6tyHJ5ofUqJ4A6MvSj2KA_29_0"></a><a id="Tc_0J2ZfVeVJE67X94DPnwbUQ_30_0"></a><a id="Tc_o9wBpVony06FuGxbVOy2TQ_31_0"></a><a id="Tc_LTPnFteM1keexx59rtU5Bw_32_0"></a><a id="Tc_-tIROrC1ZUCqeTzvYRtILw_33_0"></a><a id="Tc_QQM4-HzxVk-Q4jR6jdr-TQ_34_0"></a><a id="Tc_34EmQsAtsUu3Bws9kgYTwA_35_0"></a><a id="Tc_r-vVa0gjZ0C1pkDNloxRqw_36_0"></a><a id="Tc_nYLhGcNujkau9--2nBEL7w_37_0"></a><a id="Tc_R8-gY8yVCUaYktbdVLgkag_38_0"></a><a id="Tc_lXW2egLgK0CqHxaGHFJoEw_39_0"></a><a id="Tc_MWEH7NHtskqz-wEEog8RgQ_41_0"></a><ix:continuation id="Tb_2EZ90Q5420S1qR5SpkbHTg_cont2" continuedAt="Tb_2EZ90Q5420S1qR5SpkbHTg_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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 0pt 12pt 0pt;">During the years ended December 31, 2021, 2022 and 2023, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_c6o6Jzf53Ues3B-5-gFjyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_9jRK6pvNN0yYs4wdRGJzaA">6,084</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_oxxmDWsae0qVjA64quepWw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_De9EL3HcO0qDAK2I3EtcuA">60,330</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2ypg_nqbgkuBccdVNZrv1g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetImpairmentCharges" scale="3" id="Narr_rbJ6dfqeDkiYvf-Nvg0WBQ">5,938</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_c6o6Jzf53Ues3B-5-gFjyA" decimals="-3" format="ixt-sec:numwordsen" name="csiq:InvestmentsInAffiliatesImpairmentCharge" scale="3" id="Narr_CKZEr6OSOUuSDn6dUsDU3g">nil</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_oxxmDWsae0qVjA64quepWw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentsInAffiliatesImpairmentCharge" scale="3" id="Narr_8tN90_cuK0qqCAiohejRCQ">357</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2ypg_nqbgkuBccdVNZrv1g" decimals="-3" format="ixt-sec:numwordsen" name="csiq:InvestmentsInAffiliatesImpairmentCharge" scale="3" id="Narr_a-kSYHwRf0WPuYWIDDQqhQ">nil</ix:nonFraction> of investment impairment in the CSI Solar segment, and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_H47JQc1Mx0mXJ-WXemy37g" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_539wk2vUq06ZWldVa4CYUQ">17,152</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_OHKPzzY1gUiS5qdbOmwDTg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_MkZYZ1GF-0S2r1gfkOhZwg">1,674</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_Femt3TG9F0C0hlkbCbCc6A" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProjectAssetsImpairmentCharge" scale="3" id="Narr_bkp2JeLYS0G8YzJwTjehTA">16,239</ix:nonFraction> of project assets impairment in the Recurrent Energy segment, for the years ended December 31, 2021, 2022 and 2023, 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" id="Tb_Nn5sDoaV4kOJcsZGNp5PNQ" 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;">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><td style="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;">2023</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_US_iYJMV6XS90uxCevUZ03DIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_J-RChh7xFUejfI9K0_TDXQ_5_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_US_rClnIs8XHE6ardczfoeA7Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Jf6pE-QS1UmiMIz8Tw6m1g_5_4">1,963,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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_US_qfrlnaTarUCfpMxND8VexQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_BnMrea1WA0OiXb3EihSZCA_5_6">1,485,919</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_BR_WZG1kPFaSkmvMSLweBobgg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_iW8U-cVD5kKmvwIlsHN7HQ_6_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_BR_6VvFfi_Jx0O2RzERCnMRHw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_jFlWNfXs-kmosNqGsXNsuQ_6_4">623,331</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_BR_zSxmWOrz10GjvTsPdwCi3g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ipP8wZQZ0kaIQaSW4Is6yw_6_6">846,387</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CA_atjb8yPXLUKhC7Ev_RHrcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_XbXY-MMrf0akv2vEns-Jzg_7_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CA_EkCEeGbOPUqzJHhZ1XPHcQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_WUeLqjdYK0yEq_X62gMJvQ_7_4">49,148</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CA_bimSLCwh5UaGvlIeZSM4XA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Zoq_LKCG10SoTw9F6x_I7A_7_6">52,525</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;Mexico</p></td><td style="vertical-align:bottom;white-space: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_MX_rIVupoNWJUmg8hu9Bmp_0g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_a31TsTWWAE25UUdedW9GuQ_8_2">139,611</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_MX_npl7_Y1Hqkihicvj5DSPJQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_DTsM6iwFuUqRIygeydzQgg_8_4">31,912</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_MX_NMFkoBhq_kuK3rUhEZRC6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_wlZcnh7SZkeiS4IF0x2c3g_8_6">50,884</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;Puerto Rico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_PR_Y-Sm5bxG0EOApOxCU0cQoA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_yr6nJ8-j-kuGjK9sRl9rpw_9_2">11,344</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_PR_93_vkpCKhE6pFL2NbjKKFw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_dp9Bl8kpy06GHIioyKE42g_9_4">22,353</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_PR_3SQ4IyZkP0itFPZ7hGnZyg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_uzvyDer7EUKcyHf8Vnrp8g_9_6">37,922</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CL_MTgcoc4fpECsRRagmWQ0Cg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Iv4kgRsI202VQR5QJ00esQ_10_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CL_7ZNBlq0fL02j-JqqBuViBg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_s_ru0E5bp0WrYDqaBLOLyQ_10_4">37,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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CL_g6N-dWvbKUCOV8prfrDqyw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_N06Ei_I0OU2o-LM3Xo63dw_10_6">29,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;">&#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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_UvJjjNWrr0S9fkSIgWvAzw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_-4j5Hs-hpke2q0Pf8ipZzw_11_2">46,210</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_6RJ0rD7ukE-noJQLU8yfdw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Y6HcBJgsx0GqI_hIJhL4fQ_11_4">65,581</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember__9LYC2-Gd0elIPGfeP0tUw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_d44FBcU0OUC6aotMEddKtQ_11_6">112,845</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;"><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;">&#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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_AmericaMember_3kqedtH72EGZkldAj3RTkQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_1tqHMRKWC0691Fa_z0NBnQ_12_2">2,279,594</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_AmericaMember_-J3IdnjmkUak8Mk3Jnu9_g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_WzdNHGgRcEO4ya1MyP37xQ_12_4">2,793,651</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_AmericaMember_sttDZT8y_EiHw1Lkdcg47g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_3Sm-4y8MCEaubkLND8O3yA_12_6">2,616,145</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;">Asia:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;">&#8212;PRC</p></td><td style="vertical-align:bottom;white-space: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CN_vPRpHNA7Tkyh4jWhmGQutg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_cGx6ZLfzwEqtS6fZignlfg_14_2">1,207,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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CN_zvlQMaX7-Ei-4RmOoAZJJw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_IrqGGfNqTUmuVuu_A9qluw_14_4">1,904,862</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CN_oymL3asBO0-tC7Fm15OWTg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Z-q3L9aBIkGp68kENjM7Tw_14_6">2,151,243</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;">&#8212;Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_JP_lx7lMEJvN02y3DrKhPZadw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_0Rapa1ipo0eid1ahNueeRQ_15_2">509,233</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_JP_bxFbhvhuI0O-SiLF6ktQCQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_doheqFvGsUW6godBYEuRnw_15_4">325,344</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_JP_VyDig-qPrkSZZIim5XSpYw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_i6AdkoIJdEiBr6U_lq2zMQ_15_6">597,188</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;India</p></td><td style="vertical-align:bottom;white-space: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IN_I4BZyt9cVEC_EdPzi4xLiQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_jXJROoKC-Um2kZPsmcNnZQ_16_2">142,300</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_IN_YLBMR3ppuE2ZbYRaWsqeYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_YdGfHsXrWECR5yRtTAfipw_16_4">197,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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_IN_NKH-1DjtIEuAt8079BI5yg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc__c122Obw3ECQHyrpguYfCw_16_6">91,020</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;Pakistan</p></td><td style="vertical-align:bottom;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_PK_xDb6Ji1hpEe21wp1Y3s5aw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_8jgvWfq2mEazFRZHyPY1DA_17_2">48,838</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_PK_OFMfyRgwBkSyPB26_kf9aA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_haHKjmUdBkOEPMaN7QbFTA_17_4">73,531</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_PK_M3tvfJNPNEarP-zaO3oNBg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_DNOxqP6iwUiU_JRcnjOJ4Q_17_6">78,203</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;Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_PH_wslf3caoC0KVzovacuA2Qw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_MiA9d0e6sk-UiYuMKx_mNw_18_2">6,660</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_PH_6FewQbssQEWUY3rJpLg6oQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Rh2fw5V0tEusaMNPpfJFFQ_18_4">26,578</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_PH_8rvjGJxJbkOpmiSIMdSCcg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_G7Hz2RXdpkqtfakJmKtbOw_18_6">40,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;">&#8212;Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_HK_nLTAGf7qNUSEUT-wfYgB-Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_XejGEVoOckeP_7zLtz3t-A_19_2">9,979</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_HK_HREn2zv65kOERjskzx8Bmw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_KSF65jxUf0GHSyYdkYHOng_19_4">46,254</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_HK_I0z4OJr4h0mXkSn-N26yig" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_I6Xoep4B_kGJzkyZBfXqHw_19_6">32,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;">&#8212;United Arab Emirates</p></td><td style="vertical-align:bottom;white-space: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AE_swzD0AEVB0OcyZg-wsf4xA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_vXehmMbiWE-DwIErqIAZ4w_20_2">6,168</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_AE_USmV4TH8cEOqp5sPzY5fbA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_OsBdRnaawk-e6dFoY9n7bQ_20_4">15,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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_AE_ecuAg028BUeD9-6R85_nOg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_IrEn2kKTEkaCswvvj48dhw_20_6">22,915</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_TW__FhEkMv_cESCW40Gatk9hg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_aLc_y_2p1EKD-XRz3-Ud0g_21_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_TW_DRADgvCbWEmHueMU2XNbWQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_M57B-ZdX-EiEwC-GSoDotg_21_4">67,411</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_TW_kKIBpuIbgUitgiQaKtNZ1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_AA9H_TTI6UCe-5lcv6tmRg_21_6">19,369</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;Vietnam</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_VN_t4Ua-VwUu0ufNZBLcOb_0g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_b1bWXjpP_EicfAx9xIFx9w_22_2">19,956</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_VN_LQ0KVcXBkU-BqmL8v4Rmrg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_KG5VJIKO90mY-palIYSVig_22_4">9,078</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_VN_tnq-hmv-CkitDsfb8xrNAg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_geSVQirHak65hXg-P9gaew_22_6">16,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:10pt;margin:0pt;">&#8212;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_TH_uM6Q-bemO02zPhbv8FbhOQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Rtl_uQKaJUWCNE5UvtNsEA_23_2">59,451</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_TH_FF4thZh7jkSD-LrQ3_iSeQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_WMGEl_UzSUWTTwYcn3Ev9Q_23_4">9,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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_TH_GcDXfmDCgU2V4R6AxgKozQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_0O0pa5HGPUqLPKlgpzjixQ_23_6">10,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_HwySurKwLUeb_LOv97PYww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_DIs61G2cskyqRJbZMTLjtA_24_2">121,780</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_JwNcWx_4oUaSOC6I2Vi9UA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_YdVBPsoHm0qd0aJSThakcA_24_4">63,034</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_IMg1ieqZE0atwa5QfNGREQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_IYkCXwj6b0Ome_jxU6Uqvw_24_6">65,814</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_AsiaMember_Z7tjChbNXE2Nvg1xGIIvtg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_sSvJNQGanEuyn1LAxfbpRQ_25_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_srt_AsiaMember_nMb79flZwU2XVzLFda8gnA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_NvcKGcYMvUaFWxCvu1ascg_25_4">2,739,779</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_srt_AsiaMember_Ccd8TWlO60S7ueYSQuy9QQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_j6TDZ2DM90q7wzrsZ4sFZw_25_6">3,125,496</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ES_z7X1Iyp_GEG02yFQvY_u8w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_sc9AZmrvw0qOr-35dx2CHg_27_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_ES_noeabbPP-0OZsYekbvK9wQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_QIM3uD2EEEKC36-DzbXTxA_27_4">434,841</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_ES_wo_w_2-o_0iNc2yc3wf-5w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_rjS1OXclB0mkUAMYsz_2ew_27_6">445,321</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;Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_DE_dGBzHVixfEyy3puv9lnyZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_zcXcgNK05kiZwLoBURxsxQ_28_2">231,995</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_DE_Tv2azKStHUyAhBp0VS_2RA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_NTtYtJR_BEyqXvHsxvdGsA_28_4">322,189</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_DE_KvAAFG4KjE62jpekJ-Gt7Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_xEZSQlLagUKB02MEDw7-eA_28_6">291,385</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ZA_74vH2XZlsUe25SgUltmwZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_KHAfJQQ9XEaJGVz5dvXDPg_29_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_ZA_bye0HB4tDkWdM4M9Gac4kw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_lHipVUT0QECPen9PGoaVPA_29_4">118,458</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_ZA_pCUEXWyP2EmHsrmfjNS-kQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Se82yWy9j0qhPS14lIRXtQ_29_6">218,596</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_GB_CP5vPjdFr0uEYokqWtj1oA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_n29RCBOF70uudKSh0GFK6Q_30_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_GB_11yDerAYI0-AXSOU8c8d1w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_s6o_-8IDDEq4EqMs7jfbbA_30_4">106,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:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_GB_j_VILhWwQUaMhqhw0hASMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Q9MhO4jYgEmo6dueGOryRw_30_6">144,994</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;Norway</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_NO_PSKCbQI-SUqjCnCp1hT5Vw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_AkjbGsX3gEWNMC7Mxl1AoQ_31_2">157</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_NO_Nx8FtG8IokaXHjgSBxG-sg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ZuyvgyMUc0q3plhtO9URFg_31_4">30,231</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NO_lQ_jJi3Sl0eWV8X_yFuQ1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_bCvTaBKQQU2zDmbNwqUYBQ_31_6">139,769</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AU_aXQTCijSaUilhwCSVMN7bg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_G7Fna5-_qUW8qMVMBe5Vzw_32_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_AU_HjLY6O1l-kSTt4BkLhDJHA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ECRxUQ2GnkG120b0xJ0G1w_32_4">393,959</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_AU_OimQUMpSWEqzebVMzQ0qaA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_mDcBVEOpZkei8BO87q9zdQ_32_6">128,247</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;Netherlands </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_NL_S2ak4FRKlkeIehUdEKAZNw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ADmaW2mAF0qqREYaF3b_nA_33_2">104,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:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_NL_F_VA7yqQ2U2NCqrEDD4tsg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_GZ01jLdfKkK8-EPwYlMhLA_33_4">136,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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NL_Qn1hIdsiCUW0oFMkdFGjiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_k-WC9km4SECQyc7Ldm2rPw_33_6">81,820</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;Italy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IT_sLp6shKXWk2kVZZnVXsYHQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_0hIBNl0w50ydMTfEIyO9dQ_34_2">6,531</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_IT_Z6rmUdAu-UG3tMAKJ8z5HQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ZoqqtXDNjUGQ7U3AaNMLvg_34_4">14,465</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_IT_eExYyvqu1Ey0MxnyGIYIlg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_e71cEwoR6Ue3Wwaf00ARNw_34_6">79,041</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CZ_ial6mEyGDUyeTrTdV4cV-A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_tuy8p9_SoUi0TZcrhH2uIA_35_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CZ_u4A3Hv2TDkqZd3bTvBxhPw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_kVwmIWAKXkKpbdWTHjFvKA_35_4">79,414</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CZ_HsXXYkgwK0WT-imW5l6tjQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_O7JlqutjhEya-UGbaZHZcw_35_6">62,079</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IE_1_UCm0J_rE6XliOz48Bmiw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_92kzkqw-MEC5JquxFPQ81Q_36_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_IE_BN5l5xCkNEu_9-eLhbMkNA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ZoQUMNTChE-AD1b3dfry3g_36_4">63,740</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_IE_lPg-rjriN0msWFaCk5ClVQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_qdMTVTvY4kGahj4zPXPZjg_36_6">41,611</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_RO_RHFrSvmzc0a3iT9xaEn-Jg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Y4OCp__jUUivmuvValZ_fg_37_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_RO_FuMZ0GOyj0mHFW_OL22v4w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_euh0W4KieUeEkWNRKt904Q_37_4">31,804</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_RO_EY4wo3_jQkyLKAc1mdxV8w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_ccnvugfm7Em2Qg9GzGhkxQ_37_6">24,491</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_FR_BKa3W2iCxU2v3xmBfyu_Og" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_NDOaowCu4kyviGCcMihBiQ_38_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_FR_prsJgThXwkK0DkBYeHQxhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_XAK9wOxlfUGBmPPtQWn20Q_38_4">31,147</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_FR_5DxMQd7MZ023Nz0AIjXdHw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_YijRXGt9IEmg3dNrFqiGMw_38_6">22,341</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_DlyVLzpTn0q0GrQoda0sNA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_UzEgS3TWX0OluURRHM__Lw_39_2">78,040</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_Xn-cj_H5WE2eKF_GA7YhAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_KR3QiOA9v0qLevM50H1AWA_39_4">171,895</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_dpHY6AS6s0GB1bHfOgIJMA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_yRFxTg1Fh0KkvopcAByl8A_39_6">192,290</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_EuropeMember_A2bwlrhB9U2HIFjGRDAlzA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_bItm2JqOPEWq0T57TVxG4A_40_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_srt_EuropeMember_54ilYGUMg02kpw6POHPimQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_iX4mu-6t1kq2qF6lKb8Hig_40_4">1,935,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_srt_EuropeMember_spKQL1iTMECH6fEZeuouFg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_0ohYj2Pksk6FmLHCCzRj9g_40_6">1,871,985</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_X2rv2WjyGEGn9DoC8irITA_41_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_nMoCNZ8blEmXYVLE2XDslQ_41_4">7,468,610</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_bXPT5v20E0mB63jmk3NYwg_41_6">7,613,626</ix:nonFraction></p></td></tr></table></ix:nonNumeric><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></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, 2021, 2022 and 2023</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_QEyuP8ddCUGfM8l3bFrHpQ_1_2"></a><a id="Tc_cZFruVjQwk-paixJ1B03mw_1_4"></a><a id="Tc_LqxOWF-3CUKvKxErokwWMw_2_2"></a><a id="Tc_-MOXpe5jEkWw3jdQW7xAfQ_2_4"></a><a id="Tc_SWxSNIux_UiZh2VJeZVwEA_3_2"></a><a id="Tc_DpoFFo4HeUWrPPypVUgcfw_3_4"></a><a id="Tc_I-1WxZWthUKYdU3IMSBIJQ_4_0"></a><a id="Tc_TWfiJxxQpUiXMK4W2Ro7yA_5_0"></a><a id="Tc_QtRM44YVHUuTE5VWnbtKJA_6_0"></a><a id="Tc_sIrZzSxJi0qphByTpxLC0A_7_0"></a><a id="Tc_cZ2sXn5e2kKIZ8NJT7CGjA_8_0"></a><a id="Tc_Pq1IA9LJIk612NKvNs4KFA_9_0"></a><a id="Tc_p2k-gUDTUE6sHndKZx3IVw_10_0"></a><a id="Tc_bybfm_nZ5EKiwVii24Qj-Q_10_2"></a><a id="Tc_ygsV3nPIfEqaKqxFMgBGxQ_11_0"></a><a id="Tc_9Bahw7oStUOF9oWVjhvWkA_12_0"></a><a id="Tc_5LTwkyoh3kexyxi5vebKIw_13_0"></a><a id="Tc_XpsHNd0vQkqqOyle74YRxw_14_0"></a><a id="Tc_1cXHAWB5-0-yt4HBMWzLNw_1_2"></a><a id="Tc_o7mVCQxGWkmc8zuAFjvSrw_2_2"></a><a id="Tc_buSlIySwW0m93jv2D1aZaQ_2_4"></a><a id="Tc_RStlZOvI7UCYl2viJ134rg_2_6"></a><a id="Tc_YGFcigldHE2KvfOYEkczKQ_3_2"></a><a id="Tc_z_XwOLCr5E-a_0KYMOSNYA_3_4"></a><a id="Tc_qeI5vww16kyPgVSFOZM_dQ_3_6"></a><a id="Tc_d3kYsGyZhUi6ozLoxhOPcg_4_0"></a><a id="Tc_1l4MrGqK_0md3mTJX5NCiQ_5_0"></a><a id="Tc_Fpda6sT4rUOGa9eqrL5ipA_6_0"></a><a id="Tc_Fft0tQsvMUucTBljE3_AeA_7_0"></a><a id="Tc_foQ58ADqzUOPW3e-4BsJ5A_8_0"></a><a id="Tc_x0KvctA8lU2LC35Mpq4dWg_9_0"></a><a id="Tc_4jwBCi4kAk-uCHCYHcz4OQ_10_0"></a><a id="Tc_zkldiqAeTkSsBXaU32IfzQ_11_0"></a><a id="Tc_txYa_FEv1EWbVwO7v302qQ_12_0"></a><a id="Tc_lM6yiLCGxkCI4Mg9M1DL5w_13_0"></a><ix:continuation id="Tb_2EZ90Q5420S1qR5SpkbHTg_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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 long-lived assets, including property, plant and equipment, solar power systems, intangible assets and ROU assets at December 31, 2022 and 2023 by geographic region, based on the physical location of the&#160;assets:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock" id="Tb_z8cpJ5KoqEankGX_qOZhdQ" 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.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.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: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.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: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.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.85%;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.85%;margin:0pt;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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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><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;text-align:center;margin: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;">2023</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;font-weight:bold;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;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.93%;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.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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CN_K4R_zb2xWUe3T0EgngOhfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_lILV4HOzPUmqMbEQidaijg_4_2">1,668,177</ix:nonFraction></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;"> <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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CN_80hDGSjEdki2xBN9W0xvVA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_ZeANEPJToEqOnjggWbDCxQ_4_4">2,398,130</ix:nonFraction></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;">Thailand</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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_TH_WaOAhGglq0OMevBiINfFCA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_4Ctz2cMwtU6Kbp4O3PHLmA_5_2">276,497</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_TH_g1YNSVaQ4UKe2ckVolavZA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_u5EKyH0QdEqFrBDhHbhcrg_5_4">691,467</ix:nonFraction></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;">United States</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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_US_TGciro71Dk2gByw0WsJ6VQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_uY8preRgpUufKIw6Ub9jRw_6_2">5,545</ix:nonFraction></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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_US_rB6V3NXeXUmlRKKzaAVgQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_2q9zNhASRUCujShJZyXoIQ_6_4">528,538</ix:nonFraction></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;">Brazil</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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_BR_OtJDSgb6Ck6yhWsx-gbpQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_JRoy1Xl_mk2l24_21RCnFA_7_2">242,761</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_BR_crl3SxeSxUistEGO4AAUww" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_MV4HgYucl0OMez3JL3kjVQ_7_4">409,211</ix:nonFraction></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;">EU</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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_srt_EuropeMember_41CRG9KMBUW_DnOK-C55pw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_9-42_wlYRUifc5uDz4IDEw_8_2">27,182</ix:nonFraction></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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_srt_EuropeMember_Unm7Klr-7kWuCsRjXvZkoA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_tPzHLskY8UuL7E1xErmPAA_8_4">99,738</ix:nonFraction></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;">Argentina</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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_AR_cuLi4ihwDESqpgpnrd25Fw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_Y9LINEsZNE6DWIyA8SCD9A_9_2">66,017</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_AR_2LSzNiPvkk69EXuydpD76w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_y3cU45JkD06W6kjmmUwANQ_9_4">63,526</ix:nonFraction></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;">Colombia</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;"><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;"> &#8212;</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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CO_G1EkubXYjUmFIB2rSXTX4w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_hrLg4zoaVUWsBBSfsyalpw_10_4">61,847</ix:nonFraction></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;">Japan</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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_JP_gK9lZ0E4AU-6Z8fIqAKIzg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_qQ7VK7ENjk2A9OPHrF7SBQ_11_2">14,440</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_JP_TgcbE02qakG8FZSQlX6n4A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_Oin7nEhbU0-iDz0NKSb4yQ_11_4">13,164</ix:nonFraction></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;">Canada</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CA_rExRPOfZak6ApkGDw3JLLw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_UCUTU0MoAE6Joj4_JWgQvA_12_2">6,200</ix:nonFraction></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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CA_SBx3YZm7B0CTSgUQfnF5WQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_xR_C6vtP6E-LR2-US5mZdg_12_4">11,401</ix:nonFraction></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;">Others</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_-WJa2N5r-E2OQCV09CaN4g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_FJHVq1F45U6X6wZB9ichdQ_13_2">5,770</ix:nonFraction></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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_NWzWTsqbhU-HRqyovdSGsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_e5Dv0hhKY0eK3vVKqaH0rg_13_4">19,667</ix:nonFraction></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;">Total long-lived assets</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_MRadc738LkOkIv_goIYDgA_14_2">2,312,589</ix:nonFraction></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;"> <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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_snyD8yqN70eNHyYmD1oVMQ_14_4">4,296,689</ix:nonFraction></p></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><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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" id="Tb__sASSyRCuEqhtn1G1sHVgA" 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.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:2.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:11.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:2.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:11.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:2.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:11.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;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.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;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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;">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.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;">2022</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.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.66%;margin:0pt;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.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;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;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.34%;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.66%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_kdZdNlZYv0GoqVByeQWhVw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_066APyNsqUmXedLi9ylVgw_5_2">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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_kRUt5wL61k-uwt-4XUMJ0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_UrScazdiAEqbG3xV-ikHQQ_5_4">5,534,379</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.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_XFVXdi_3pkW1xBUrDjNZmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_WZQe2AC2UEChg2QrskkXog_5_6">5,941,345</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:58.66%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_gi-mheLUcECz-IW4UGI8TQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_tTfdf3mub0a2OD3AAwAwnw_6_2">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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_Ym5lZMi_q0mm5FmmLodikA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_dhGXTrrlZUOjsn0ZO6zY5w_6_4">538,157</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.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_vyiWx8d08kmvKMKZ3IURJw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_8mNti_n-VUCGfXAtL4kFXg_6_6">679,350</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Battery energy storage solutions</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_Ie4WjpDYlESXByb1KAtYhQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_hW-fvcfh-k6rWzM7GQKUsw_7_2">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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_iX8uk5eLGE2EhbDQ6SH30Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_Ktwsia8n7EatvcM0UkFFZA_7_4">440,716</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.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_E8layZZEjE2ocScRDUb0AQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_T_KP3CZUTUyq2FH7I4QBFg_7_6">245,173</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">EPC and 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_EpcAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_9zEawpupjEyPZvhLUs0AWw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_j6znUPQ2HEGCwJtD8UsbUQ_8_2">299,997</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_EpcAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_lN5VIncdzEqSBCDxwyttTw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_aRwhcjuRv0-6RvG01EIaNQ_8_4">133,833</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.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_EpcAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_C1DCxoz75U64bVlg0z5AFw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_LWUrjZETl0ey1mfVLw7WAw_8_6">250,105</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Recurrent 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.34%;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.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar power and battery energy storage asset 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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_UOE56Zydc0in3HezTvQnbw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc__HunC1xEU0SUiBX1qG-kug_10_2">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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_sU9D8aDM602j9siHFIf_Rw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_8fd62XWeXUW2h2rUwMZ07Q_10_4">761,677</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.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_BIgWZIvk_EWmFWQcMv_AFQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_S523mUt_uUiWuqVPHp6qIw_10_6">399,098</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Power services (O&amp;M) and asset management</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_PowerServicesOMAndAssetManagementMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_6HF3kM4aokOAqt6JNN8ZqA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_qwlLjtKIZUKKVIrzZTHaeg_11_2">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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_PowerServicesOMAndAssetManagementMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_ulwMvQZk80KKtSJXZClliQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_oZ5XfDk18EmJ_v2sUjGYXg_11_4">33,776</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.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_PowerServicesOMAndAssetManagementMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_VZjE-fOnYkqOUwdn0gPIcA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_GeKiuxF06kKwvWxkmoo70A_11_6">52,379</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Electricity revenue from operating portfolio and 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;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_v2VhsCQKYEmM-HMcmj2Wtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_gatyWNzebUKTFIZNs-vMNg_12_2">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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_FwgB321FLU6QOo0sBkHIfQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_xSBckFtepkqh63qqHQFpCQ_12_4">26,072</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.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember__2ftJEhjdEGGk0vLStg30Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_70t4ZZx0Sk-woJ-06zfDJQ_12_6">46,176</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_4260E4PxFUK-RIZlyS4XHw_13_2">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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_3beeHjOI9UWFs5vUrXsuew_13_4">7,468,610</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.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_vAqeSTjegUu33CBxyjvrVA_13_6">7,613,626</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></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-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, 2021, 2022 and 2023</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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="csiq:MajorCustomersDisclosureTextBlock" id="Tb_Zt0Bc6NZnECCZMSj2DxLGQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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;">No customers accounted for 10% or more of total net revenues for the years ended December 31, 2021, 2022 and 2023.No customers accounted for 10% or more of total net accounts receivable as of December 31, 2022 and 2023.</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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="Tb_lJ58Y_wur0Sh1nZsNDSTvA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent" scale="-2" id="Narr_szImFgXub06d4Z2nZA3zCw">16</ix:nonFraction>% of the applicable payroll cost in 2022. The expense incurred by the Company to such defined contributions schemes was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="Narr_CdCUJo_MBEWyLQToenFLBQ">14,362</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="Narr_AMbzmWz-OkyNOVUb7vuQ_g">17,753</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="Narr_L3PSykYYpEmv8HdX0Z_h-A">26,558</ix:nonFraction> for the years ended December 31, 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In addition, the Company is required by PRC law to contribute approximately <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_3G8QcAHBmEyXhCLHWHtztw" decimals="2" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" scale="-2" id="Narr_dvHSBrnkvEW9YpJtADxROQ">6</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_8hjJmi5StEaLy1zCxjLl5w" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" scale="-2" id="Narr_j-Q7c9jxMkO3Vh9PKYqS8g">8.5</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_aj9SPfulKU-CrWrdjVIx3g" decimals="2" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" scale="-2" id="Narr_hVdZ2aht2ECvnVuXmgGUwg">8</ix:nonFraction>%, <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_3G8QcAHBmEyXhCLHWHtztw" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" scale="-2" id="Narr_y9LExaiXhkOo7nbxwCZKfw">0.2</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_8hjJmi5StEaLy1zCxjLl5w" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" scale="-2" id="Narr_gjRucOO-2UqWSQ_9AwA_Hg">0.7</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_3G8QcAHBmEyXhCLHWHtztw" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" scale="-2" id="Narr_anjc8gILj0WFkUGv6pt7DA">0.9</ix:nonFraction>-<ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_8hjJmi5StEaLy1zCxjLl5w" decimals="3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" scale="-2" id="Narr_LuTiiZa5nkOqJOCpXR2OiQ">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_A1sEXhgp2Eq5FRyEbBL6Yw" decimals="-3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAmount" scale="3" id="Narr_PpcEQbRwU0eDfT3qc1wW2g">13,584</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_cABhXXIy_EO7NWdBVBwVtQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAmount" scale="3" id="Narr_wN6bn3qRrUK7x_fLYEjuoA">15,918</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_aj9SPfulKU-CrWrdjVIx3g" decimals="-3" format="ixt:numdotdecimal" name="csiq:DefinedContributionPlanEmployerContributionAmount" scale="3" id="Narr_So7SEdBtHkG0bAdNamSIPg">20,702</ix:nonFraction> for the years ended December 31, 2021, 2022 and 2023, respectively.</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;">In the U.S., the Company has a qualified 401 (k) plan which provides retirement benefits for all of its eligible manufacturing and non - manufacturing employees. Under the plan, the Company matches <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_aj9SPfulKU-CrWrdjVIx3g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" scale="-2" id="Narr_x9PPoDwmoE2BlDG4uorpDg">100</ix:nonFraction>% of the first five percent of employee contributions. The matching contribution made by the Company for the 401 (k) plan were $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_A1sEXhgp2Eq5FRyEbBL6Yw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="Narr_G6KkzGkJkEKG2ijVdmDhDw">409</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_cABhXXIy_EO7NWdBVBwVtQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="Narr_2kTBx3sHX0C_v2bBbQPxxQ">383</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_aj9SPfulKU-CrWrdjVIx3g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanCostRecognized" scale="3" id="Narr_FpjccHc45km7-0A0t87p9A">1,664</ix:nonFraction> for the years ended December 31, 2021, 2022 and 2023, 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="Tb_cXkz9C-hzEKpZ9EFsANHrg" continuedAt="Tb_cXkz9C-hzEKpZ9EFsANHrg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2006 Share Incentive Plan</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_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_9_30_2010_KL-w7vCxKk-QXlF6lReWvA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="0" id="Narr_UDk9ARzx50aEoZ3VhGX5AQ">2,330,000</ix:nonFraction> plus (ii)&#160;the sum of (a)&#160;<ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_1_2010_To_9_30_2010_AQ_xuP1PvUC--aAhUhwR-g" decimals="2" format="ixt:numdotdecimal" name="csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" scale="-2" id="Narr_wkZh5GwDI0eG7OYaInokzw">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_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_9_1_2010_To_9_30_2010_AQ_xuP1PvUC--aAhUhwR-g" decimals="3" format="ixt:numdotdecimal" name="csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" scale="-2" id="Narr_dj1V8IOdT0mKqPK-pmDjyg">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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="INF" format="ixt-sec:numwordsen" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" scale="0" id="Narr_nAWOuv8rTkWeICWh1jIH1Q">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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" format="ixt-sec:durwordsen" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" id="Narr_LS_3nl6QiEKwRFYnJ2JfKA">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 12pt 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, 2022 and 2023, <ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_x61QiTS7vk2yC8fjTWcApg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Narr_zi7JtJdUbkSKTjvJYAXRnQ"><ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_HllQR2xnjES_oGeFb44_fQ" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Narr__II50szyv0WsT52KDcN6cg"><ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_4D65mKuedUGq1XiTiiNd8Q" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Narr_ADp3SPRZ70CcFivvOp1aMw">no</ix:nonFraction></ix:nonFraction></ix:nonFraction> options were exercised. As of December 31, 2023, there were <ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_jwSkttdbKUCNaJnLxajJnw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Narr_yvvJU63JeUuAVhT7B_G82A">26,291</ix:nonFraction> options outstanding with a weighted average exercise price of $<ix:nonFraction unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_jwSkttdbKUCNaJnLxajJnw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Narr_2dcf2WUT_Uukce5sscobAg">9.33</ix:nonFraction> and weighted average remaining contract terms of <ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_4D65mKuedUGq1XiTiiNd8Q" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Narr_rJ39zkRnkkWygLAMbrIY8A">0.4</ix:nonNumeric> year. The intrinsic value of outstanding options as of December 31, 2023 was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_jwSkttdbKUCNaJnLxajJnw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="3" id="Narr_Q8g6K1ARjk2yxuJFhwyybA">444</ix:nonFraction>. <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="Narr_CmkietGG20m_NTzS8-sm_Q"><ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="Narr_lsNYj_uXdEyZXbBn_gCGPw"><ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="-3" format="ixt-sec:numwordsen" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" scale="3" id="Narr_wrgr31ZOVE2hF6NzxoWrTQ">No</ix:nonFraction></ix:nonFraction></ix:nonFraction> compensation cost on options was recognized in the years ended December 31, 2021, 2022 and 2023.</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-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 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, 2021, 2022 and 2023</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_U_4mKu96KkaiQGOTJI-IyQ_1_4"></a><a id="Tc_Bfq_wIqMa0Gc2M0IYvzUuw_2_2"></a><a id="Tc_ZrB8jCCb6EKoLeC8C6oplg_2_4"></a><a id="Tc_zDw08HZHnEWN69RZfMxtFw_3_2"></a><a id="Tc_2lHluADkHU6JQo2sAtPFww_3_4"></a><a id="Tc_ta18kY8xYkGLH1JwSJJ07g_4_4"></a><a id="Tc_cW676IIzRk2EHrLh2rxpxg_5_0"></a><a id="Tc_sABWvFlrQE20qVW2IPRSWA_6_0"></a><a id="Tc_DEsrGqNH8km6PFx4GyD_BA_7_0"></a><a id="Tc_h6dIs_K1IUe1FqMxZTsImg_8_0"></a><a id="Tc_7pRrUIb1W0a79dLjnf-j7Q_9_0"></a><a id="Tc_VWKVxZNcm0a9mxCcw3W91w_1_2"></a><a id="Tc_SNiOapWOX0CqFZzngaBmpA_2_2"></a><a id="Tc_V8ZwfYfYKUaP1vZFwn5E3g_2_5"></a><a id="Tc_yNtzwNVGC0unuvd_h6IILQ_2_8"></a><a id="Tc_JLJQsRjUjU6VgzHrWuji2A_3_2"></a><a id="Tc_-YRd1oUsakG4Wbuk8dQVkw_3_5"></a><a id="Tc_mKiLWfl0ukeTKuuLDKBqwQ_3_8"></a><a id="Tc_VA-8qzYneEivltx0R6zX-w_4_0"></a><a id="Tc_uWI4-yPzW0GLmpUnL8LDog_5_0"></a><a id="Tc_h7c1m1OSpUGL7_NWHfCTJw_5_3"></a><a id="Tc_0RX8RRj9g0C9V1c2ytI6Jw_5_6"></a><ix:continuation id="Tb_cXkz9C-hzEKpZ9EFsANHrg_cont1" continuedAt="Tb_cXkz9C-hzEKpZ9EFsANHrg_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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 10pt 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 10pt 0pt;">The Company granted <ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Q9hHxvoq9kWadEGhK3tYvw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_PCFIFF30C0mwTD3ssCXl2A">2,161,098</ix:nonFraction>, <ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_IfBrvPrh40aCF3r7Zhw4Pw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_eB_rKzRlrEavYYguv_1cgg">444,167</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_1C-_Ce7yaUasyAmWEls9vA">206,067</ix:nonFraction> RSUs in 2021, 2022 and 2023, 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 10pt 0pt;">The RSUs were granted for free and generally vest over periods from <span style="-sec-ix-hidden:Hidden__6LnPpsMv0awmaiJc_xCEA;"><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_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SJWO4EB44EidW8j-k05YaQ" format="ixt-sec:durwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Narr_D6DEWj9CMk6_pI_ZF0VK-Q">four years</ix:nonNumeric> based on the specific terms of the grants. Between 2021 and 2022, <ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_OqVIfmcRQE-jZijqUjFcOA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_KO7v61tADkKTgdjGVHoESw"><ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_PH1QL8FbtU-0E4Jm8ntwfw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_fGAqd1agAUaiiiFmdkVW8g">2,301,000</ix:nonFraction></ix:nonFraction> of the RSUs granted were made to the Company&#8217;s directors and a group of key employees, whereby vesting is contingent upon the completion of the IPO of CSI Solar (<ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_OqVIfmcRQE-jZijqUjFcOA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" id="Narr_IBPjFMiBx02VQK7uikAl6Q">50</ix:nonFraction>% vested on the IPO date, followed by <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_ovWWKaB1akSfnx5UIhANMg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" scale="-2" id="Narr_EPJxJOob_k2ANZYwFzIUuA">25</ix:nonFraction>% vesting on each of the first and <span style="-sec-ix-hidden:Hidden_tDQJVYWuy0eLN4cJ3cx3jQ;"><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 contingent awards was $<ix:nonFraction unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_OqVIfmcRQE-jZijqUjFcOA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Narr_kOhJ7jR0DEu4LkaoD9A5WQ">25.57</ix:nonFraction> per award. As of December 31, 2023, <ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_7bSnifeenU-mwMT0cANtCw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Narr_Q6-JOPG67ku3972pzqmaHQ">1,096,000</ix:nonFraction> of such RSUs were unvested and outstanding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_waR_vcnWVU2usZfdbExWIg" decimals="-3" format="ixt:numdotdecimal" name="csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" scale="3" id="Narr_v7CdzS-Yckq2x9MgNMPCDQ">55,822</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Rvi-6Y7smUa3DJ3H04zHvQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" scale="3" id="Narr_MWLkF_fyN0m-G8pXQU71ow">12,909</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_6jX0Mt24JUait6k6xuOsRw" decimals="-3" format="ixt:numdotdecimal" name="csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" scale="3" id="Narr_qtS_x_OPnU6zI0ceSubeEQ">7,785</ix:nonFraction>&#160;that will be recognized ratably over the vesting period for the RSUs granted in 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">As of December 31, 2023, there was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_6jX0Mt24JUait6k6xuOsRw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" scale="3" id="Narr_n_vi7VCyo0SjVE77_g5oow">34,015</ix:nonFraction> of total unrecognized share-based compensation related to unvested RSUs, which is expected to be recognized over a weighted-average period of <ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg" format="ixt-sec:duryear" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Narr_Xum9BQoAe0KTzqUZcOdeHw">1.6</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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" id="Tb_cBd2cuQREUWJ96SQbGmr-w" 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.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.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:15.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: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: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.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.85%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.85%;margin:0pt;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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.28%;margin:0pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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;">Shares</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;text-align:center;margin: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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.38%;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, 2023</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:15.28%;background:#cceeff;margin:0pt;padding:0pt;"><p 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_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Rvi-6Y7smUa3DJ3H04zHvQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_uPmp-CuDuk6uR-lybdB2VQ_5_2">3,189,376</ix:nonFraction></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;"><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_YTueg5MssESkg5FcsWOeRg" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Rvi-6Y7smUa3DJ3H04zHvQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_DiTs2_dlWk-fCPyvWi_eGw_5_4">25.65</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.38%;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.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:15.28%;margin:0pt;padding:0pt;"><p 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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Tc_ccJnbNlp1UGcPfHc4p2G2A_6_2">206,067</ix:nonFraction></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="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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_vznQ2KwMIku-XVZ3j9TtHw_6_4">38.64</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.38%;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.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:15.28%;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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" scale="0" id="Tc_Eb5m07_UY0qC6_gl_FGN4w_7_2">1,652,686</ix:nonFraction>)</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;"><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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_-URlAW27HkuNxpggcn5NBg_7_4">24.81</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.38%;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.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:15.28%;border-bottom: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_sK-flYxG80-36QBxlT3xWg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" scale="0" id="Tc_nKjzD37VnUqt0lvyRcxBWQ_8_2">82,575</ix:nonFraction>)</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="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_YTueg5MssESkg5FcsWOeRg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" scale="0" id="Tc_yYANV6n1N0-zf7I9b8ppSg_8_4">26.97</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.38%;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, 2023</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:15.28%;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_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_6jX0Mt24JUait6k6xuOsRw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc__Rzp1TU0XU-lxhipbVCAWg_9_2">1,660,182</ix:nonFraction></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;"><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_YTueg5MssESkg5FcsWOeRg" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_6jX0Mt24JUait6k6xuOsRw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_UG_3kZKXKUKnIIUmbT1tGg_9_4">27.21</ix:nonFraction></p></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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The total fair value of RSUs vested during the years ended December 31, 2021, 2022 and 2023 was $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Q9hHxvoq9kWadEGhK3tYvw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="Narr_7DkovZlNA02v7Qa9HyisNw">21,628</ix:nonFraction>, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_IfBrvPrh40aCF3r7Zhw4Pw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="Narr_KLS_nwzgZU2rcIl6QagKuw">13,276</ix:nonFraction> and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" scale="3" id="Narr_zISZ5KnzCk6DBePvFOnoEw">57,298</ix:nonFraction>, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">2020 CSI Solar Employee Incentive Plan</b></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 10pt 0pt;">In 2020, CSI Solar approved the CSI Solar employee incentive plan. Eligible CSI Solar directors and employees and board members subscribed to equity interest in the partnership for an aggregate of RMB<ix:nonFraction unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA" contextRef="As_Of_12_31_2020_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_wdTRMCsgTUKMc5VK7B_WEQ" decimals="-6" format="ixt:numdotdecimal" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" scale="6" id="Narr_65niCFa9ykCrYhte_s1pXg">248</ix:nonFraction> million ($<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2020_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_wdTRMCsgTUKMc5VK7B_WEQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" scale="3" id="Narr_W9cChOuIs0eqISxPIcX97w">36,342</ix:nonFraction> on the date of the transaction). Vesting conditions include the completion of the IPO and the service period, which were met in 2023. The CSI Solar employee incentive plan was accounted for based on the grant date fair value which equals to the value of the discount benefited by the CSI employee incentive plan participants. As of December 31, 2023, no awards granted were outstanding and no future grants may be available for issuance under CSI Solar employee incentive plan.</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 share-based compensation expense by plan included in the consolidated statements of operations:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" id="Tb_c4UZ_GtQ7EinRozmDg82fw" continuedAt="Tb_c4UZ_GtQ7EinRozmDg82fw_cont1" 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:59.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.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.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: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.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.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: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.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.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:9.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:59.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:38.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:59.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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;">2021</b></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;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.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><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;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.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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><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;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:11.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><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;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:11.19%;margin:0pt;padding:0pt;"><p 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:59.12%;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;">2006 Share incentive plan</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:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_us-gaap_PlanNameAxis_csiq_ShareIncentivePlan2006Member_aQSNfZa9fk6fFh4vE8Ax3w" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" scale="3" id="Tc_BQT8WWXRPkmaxvSfPFIrGA_4_3">8,808</ix:nonFraction></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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_us-gaap_PlanNameAxis_csiq_ShareIncentivePlan2006Member_uDKmQjZllECkBbMauLFtlg" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" scale="3" id="Tc_i7mW4lcPqkyMWKx4tPYw7A_4_6">9,370</ix:nonFraction></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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_us-gaap_PlanNameAxis_csiq_ShareIncentivePlan2006Member_Hj5NdY2cLEWj0UTbvnKNmQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" scale="3" id="Tc_YEJ81NRA30mMKaVuPRIEqg_4_9">46,981</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:59.12%;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;">2020 CSI Solar employee incentive plan</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:1.53%;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:9.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;"> &#8212;</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #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:9.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;"> &#8212;</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;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:9.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_-7puMFjF0UeoyTLKOB5HkA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="Tc_bKd2BGoNSUGsLsh-z9sDTw_5_9">8,354</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:59.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.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:1.53%;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;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;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" scale="3" id="Tc_vUVCd2bYNEuIEgCEp5eyvg_6_3">8,808</ix:nonFraction></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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;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;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;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" scale="3" id="Tc_n-5DdIBhtESTCdrYnKMWxA_6_6">9,370</ix:nonFraction></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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;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_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" scale="3" id="Tc_zbzE5cdQzk6LvN04RzKFQA_6_9">55,335</ix:nonFraction></p></td></tr></table><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></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-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 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, 2021, 2022 and 2023</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_cXkz9C-hzEKpZ9EFsANHrg_cont2"><ix:continuation id="Tb_c4UZ_GtQ7EinRozmDg82fw_cont1"></ix:continuation></ix:continuation><a id="Tc_BBIPcwoTmECHgVLB_7oypA_1_2"></a><a id="Tc_8hpddrhu2UuWy2FY6tqEeA_2_2"></a><a id="Tc_V8Xoa9LPTEeAqufnJ_pKDQ_2_5"></a><a id="Tc_60CFdtsaK0K6QRS9rjfdSA_2_8"></a><a id="Tc_A1rf60cVG0q8YBeAR_mUYQ_3_0"></a><a id="Tc_Ia0gdXlseEmbiZ7uXe7vQA_3_2"></a><a id="Tc_arIUQ4Eye06jJ1PxL9AlqQ_3_5"></a><a id="Tc_BQbb1p4HsUeBJg9eOpq1Kw_3_8"></a><a id="Tc_VR1BHxnHLUebnvUmZqLGeg_4_0"></a><a id="Tc_iIXs1KhT5kiT1RJyLr0L1Q_5_0"></a><a id="Tc_uVya2K5BbUO9tE2pFHPmlQ_5_3"></a><a id="Tc_KsVfKj2owUGVHZtKEz54JQ_6_0"></a><a id="Tc_yBSLnpV3W0GBBcKrokPfgg_6_3"></a><a id="Tc_mjqL18yBpkKRv-k0mJ9i0g_7_0"></a><a id="Tc_nw6DVLkCk0yBsYs26E0ezQ_7_3"></a><a id="Tc_zwoCgy8UwEu40f1_22D7wg_8_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:MinorityInterestDisclosureTextBlock" id="Tb_HAtQ3CzyMEGk-UrxBv27pg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">26.&#160;NON-CONTROLLING INTERESTS</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 0pt 12pt 0pt;">In 2023, CSI Solar completed its IPO and its shares began trading on the STAR Market of the SSE. The IPO raised net proceeds of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_jd9ujE6WO0GFzXPfV9C9cQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="0" id="Narr_y9BP6oJAFUiVMSf5d1kNZw">927,897</ix:nonFraction>, of which, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_vmuSvB5cYUKMpf7m3p6Eew" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="0" id="Narr_KMISniiStEGcKU9Ug-1mqQ">644,873</ix:nonFraction> was recorded in the non-controlling interest, $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_LbqH5nCk-E-Otk80LW4-Xg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="0" id="Narr_Ap7-xSXj4UOFgavA23f7uQ">244,629</ix:nonFraction> was recorded in the additional paid in capital and $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_K3_WzrHfDEaf32moCC3evw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueNewIssues" scale="0" id="Narr_e5Kt2FziKUuZsdWsz5WRSg">38,395</ix:nonFraction> was recorded in accumulated other comprehensive loss.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Following the IPO, the Company holds approximately <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_evrhCYfCakSr8aaRtom3Fg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByParent" scale="-2" id="Narr_i28SHyUWQk2y1SY4X5p0pQ">62.24</ix:nonFraction>% of CSI Solar. CSI Solar&#8217;s non-controlling interests&#8217; ownership of the subsidiary changed from <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_6_8_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_aQNrQPl2fU2LwlO346dNxg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" scale="-2" id="Narr_4K-5vaGi3UifWC6RfALs2w">20.41</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_evrhCYfCakSr8aaRtom3Fg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners" scale="-2" id="Narr_s0XLNRqoGUOlcINbj-7-Zw">37.76</ix:nonFraction>% due to the IPO.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The following schedule shows the effects of changes in the Company&#8217;s ownership interest in less than wholly owned subsidiaries on equity attributable to Canadian Solar Inc.:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock" id="Tb_x6MH8axvVUKR8u6kLjpe2A" 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:67.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: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:1.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:7.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: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:1.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:7.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: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:1.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:7.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></tr><tr><td style="vertical-align:bottom;width:67.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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: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:30.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;">Year&#160;ended&#160;December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.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;">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: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:8.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;">2022</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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;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;">Net income attributable to Canadian Solar Inc.</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:1.34%;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:7.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_t-D6VDAKoEynnhoMyZr58A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="0" id="Tc_hdiQcGDJvUCjKeDy_MGf4A_3_3">95,248</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:1.34%;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:7.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_XQ9e1zvIqk2Bt6JdIq_bMA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="0" id="Tc_FVTtNIkq9k-MtzOAIXi7TQ_3_6">239,968</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:1.34%;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:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_C1FRS_eBOECAWeoJD417ug" decimals="0" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="0" id="Tc_V-U9_sUsCkipTa1Zm6XNnQ_3_9">274,187</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;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;">Transfers from the non-controlling interests:</p></td><td style="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:1.34%;margin:0pt;padding:0pt;"><p style="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.17%;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.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:1.34%;margin:0pt;padding:0pt;"><p style="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.17%;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.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:1.34%;margin:0pt;padding:0pt;"><p style="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.86%;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:67.34%;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 7.2pt;">Increase in the Company&#8217;s paid-in capital from transfer of equity interest in subsidiary and subsidiary&#8217;s offering of its equity interests</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:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> &#8212;</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:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_o0i3MNYQg0id8cD_8G9quw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" scale="0" id="Tc_sxpziOILxk-Z4HV-7MqNvw_5_6">11,185</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:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_KtjeEpSdBE29UQ1i42anQw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" scale="0" id="Tc_1lBelPOkIEWpQ33M-XL06w_5_9">244,629</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;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 7.2pt;">Increase in the Company&#8217;s accumulated other comprehensive loss from transfer of equity interest in subsidiary and subsidiary&#8217;s offering of its equity interests</p></td><td style="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:1.34%;margin:0pt;padding:0pt;"><p style="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.17%;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.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:1.34%;margin:0pt;padding:0pt;"><p style="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.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_gnpxtDFt80-qB5_y-k7BMw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" scale="0" id="Tc_Umz72aZ3F0yItr_cg1FK6w_6_6">544</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:1.34%;margin:0pt;padding:0pt;"><p style="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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Bfq9xiFyE06nwH_UujkVjQ" decimals="0" format="ixt:numdotdecimal" name="us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" scale="0" id="Tc_mRz0Jc4yw0qNSvW-PB1AVg_6_9">38,395</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;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;">Net transfers from non-controlling interests</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:1.34%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.17%;background:#cceeff;border-bottom:1px solid #000000;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.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:1.34%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_XQ9e1zvIqk2Bt6JdIq_bMA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet" scale="0" id="Tc_y2_iYfQB1UuPcTTTqRvdVA_7_6">11,729</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:1.34%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_C1FRS_eBOECAWeoJD417ug" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet" scale="0" id="Tc_cPoYMt4fiU26DAIpDk_pMg_7_9">283,024</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;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;">Change from net income attributable to Canadian Solar Inc. and transfers from non-controlling interests</p></td><td style="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:1.34%;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:7.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_t-D6VDAKoEynnhoMyZr58A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet" scale="0" id="Tc_DXqB4SXFmkeCH2bsM5-vPg_8_3">95,248</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:1.34%;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:7.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_XQ9e1zvIqk2Bt6JdIq_bMA" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet" scale="0" id="Tc_PthcBYvGQECB7nFzt-Gg6g_8_6">251,697</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:1.34%;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:7.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_C1FRS_eBOECAWeoJD417ug" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet" scale="0" id="Tc_v3k4e1idxk6RLmySJgKJ-A_8_9">557,211</ix:nonFraction></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></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:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:SubsequentEventsTextBlock" id="Tb_Awi-7kzvV02XCMhsKxzQew" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">27. SUBSEQUENT EVENT</b></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;">In January 2024, Recurrent Energy B.V., a subsidiary of the Company, entered into a purchase and sale agreement with GRP IV UK Holdco Limited (a Climate Infrastructure business fund by BlackRock) to issue Series A convertible redeemable preferred shares of Recurrent Energy B.V. Under the purchase and sale agreement, BlackRock will invest $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2024_To_1_31_2024_srt_ConsolidatedEntitiesAxis_csiq_RecurrentEnergyLlcMember_srt_CounterpartyNameAxis_csiq_BlackRockMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_lTuv_E6u7E-x21DkFE52ug" decimals="-6" format="ixt:numdotdecimal" name="csiq:AmountOfInvestmentCommitmentInExchangeOfVotingRights" scale="6" id="Narr_5A9Q2MB-XU6pzkYpkEGZnw">500</ix:nonFraction> million in <ix:nonFraction unitRef="Unit_Standard_tranche_ZRvaOf7SM0ajVRh4II2QSg" contextRef="Duration_1_1_2024_To_1_31_2024_srt_ConsolidatedEntitiesAxis_csiq_RecurrentEnergyLlcMember_srt_CounterpartyNameAxis_csiq_BlackRockMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_lTuv_E6u7E-x21DkFE52ug" decimals="INF" format="ixt-sec:numwordsen" name="csiq:NumberOfTranches" scale="0" id="Narr_U6aWaO0MEUC7oMLmTGaffw">two</ix:nonFraction> tranches, representing <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="As_Of_1_31_2024_srt_ConsolidatedEntitiesAxis_csiq_RecurrentEnergyLlcMember_srt_CounterpartyNameAxis_csiq_BlackRockMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_JP7BuYKMjUOjFsmXO9zeKQ" decimals="2" format="ixt:numdotdecimal" name="csiq:PercentageOfVotingRightsInExchangeOfInvestment" scale="-2" id="Narr_IHYaFVJY1kWxr5YLCq1uOw">20</ix:nonFraction>% of its voting rights on an as-converted basis, subject to regulatory approvals and certain terms and conditions.</p></ix:nonNumeric><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-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 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;"><a id="AdditionalInformationFinancialStatementS"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" name="us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" id="Tb_8r9-i2Q5cUG50R_TsdqYRw" continuedAt="Tb_8r9-i2Q5cUG50R_TsdqYRw_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 12pt 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, 2023 of $<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" scale="3" id="Narr_2-8xJVPsYE2z1zQAWJQs_g">1,587,503</ix:nonFraction>, exceeded the <ix:nonFraction unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ" contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw" decimals="2" format="ixt:numdotdecimal" name="csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" scale="-2" id="Narr_xBBYUm6JokO6mZhSoCyazw">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&#8217;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-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 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;"><a id="_de4b13de_f90f_4fb5_85b3_884a8452bdce"></a><a id="Tc_56jkuYVVlke6p692-2-6uw_1_2"></a><a id="Tc_m_qFkGmSVUCAp3F32BODSA_1_4"></a><a id="Tc_PCrj2zZvrEeDb0uE8YCzJQ_2_2"></a><a id="Tc_wUfH1dM6h0aSZqWe00vgZQ_2_4"></a><a id="Tc__WPnqLU9akSpXpa1zHh9Lg_3_2"></a><a id="Tc_aieDb-CMS06qbnBHy_2kHg_4_2"></a><a id="Tc_2hiBBG2vYU2TmgUsrq8BxA_5_0"></a><a id="Tc_wNcXhQ6EdU6U1lxA2MjmYw_6_0"></a><a id="Tc_tRHKlBbook-8JKtumlEd8Q_7_0"></a><a id="Tc_jlx2G-zh7kygGIrj5LkHww_8_0"></a><a id="Tc_T2ghc4U2xEeg-eZuqv43Gg_9_0"></a><a id="Tc_JTXDzkweY063HWwztXvEbw_10_0"></a><a id="Tc_1JMyaCe-ckCd61UoiUnYSg_11_0"></a><a id="Tc_phvBwHg0FUiF7fRwD1__gA_12_0"></a><a id="Tc_Lh7z5v5oak2IOIVjPyeJoA_13_0"></a><a id="Tc_HdoKlcjjyU6nrZMzR4M5dA_13_4"></a><a id="Tc_06tdNDxyBUqnu7Cy4em_AA_14_0"></a><a id="Tc_L_zwFIL_vk-84XhG1kMHmg_15_0"></a><a id="Tc_UYNqpKQTKkuxR8GAV4G_2Q_16_0"></a><a id="Tc_l1MGg2UatUW9p0Xs2dKd6Q_17_0"></a><a id="Tc_jCfgt63I7U6sHIcUZnY5qg_18_0"></a><a id="Tc_52IojY3P-EOX_0SLQ4ho2Q_19_0"></a><a id="Tc_6FyXt2BtDUGR69DRezC-ZA_20_0"></a><a id="Tc_WLXz439Rc0md6kDDnR_VSg_21_0"></a><a id="Tc_1BSii1syKEeT7aSA2eI0Aw_22_0"></a><a id="Tc_xrQnvT7FMEqda5OGSa1Z6w_23_0"></a><a id="Tc_zoMhB4Rj40WfSDAl80FHxQ_24_0"></a><a id="Tc_yqtUwzlmmEuBH9Yf2aQ1Ow_25_0"></a><a id="Tc_rBHkrDh_cEOa4wdlN5Otug_26_0"></a><a id="Tc_Dn5rnnmrxkaBD-pV5TqxoQ_27_0"></a><a id="Tc_1OGCr0sNn0ql3xf4NWalIw_28_0"></a><a id="Tc_gvV6xuaNsE6-8atgASinnw_29_0"></a><a id="Tc_-X3MpC7OOE-nEzn8Qt1ZHA_30_0"></a><a id="Tc_L6SMh6YHNEqkoIF9ovVIhA_31_0"></a><a id="Tc_ALN4cd6eKk2REEP8D3ObVA_32_0"></a><ix:continuation id="Tb_8r9-i2Q5cUG50R_TsdqYRw_cont1" continuedAt="Tb_8r9-i2Q5cUG50R_TsdqYRw_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;">2022</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;">2023</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_xaWzY3I5NE6IV6-mcDg-Sg_7_2">15,661</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_RYgjYNmLMUyLrwLs2Jbxsg_7_4">642</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_26sT9YAvEEm88V1olm3oCw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherReceivablesNetCurrent" scale="3" id="Tc_TiPzi77XLkG647Z-e15fYg_8_2">582,685</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_Jt_J6OtYD0-QdC688D872g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherReceivablesNetCurrent" scale="3" id="Tc_LQS5Tbry80uoSJrXyKc18A_8_4">339,809</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;">Prepaid expenses and other 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_dwTb7xVD6E6inCoGRzTzFQ_9_2">13,218</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_G2vcQLafQUmKrNQPFDHCPA_9_4">14,812</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 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_l5Fkza7u0UGoOA1M1Xqqgg_10_2">611,564</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_LVwNZMQxWUqYTVTlRfVZTg_10_4">355,263</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 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentInSubsidiaries" scale="3" id="Tc_IY-wfC3MFUKeb44_lm6Hig_11_2">2,158,474</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentInSubsidiaries" scale="3" id="Tc_3Ar-D2674EegucvLsb13hQ_11_4">2,561,797</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 affiliates</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentInAffiliates" scale="3" id="Tc_pBVY0Gc9yU6ZFj0DYj_DtA_12_2">11,745</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="csiq:InvestmentInAffiliates" scale="3" id="Tc_W8f30GOHpUCB19rNH1eiZA_12_4">11,745</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;">Deferred tax 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_E-7s36ha7UisXg7YUsDgeg_13_2">1,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;">&#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;">Other non-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_LNR6bDB5t0SswpEY-HlC7A_14_2">39,837</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_6YYaFj9dlkKvBF3NXjIBwQ_14_4">39,837</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 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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_54brnoTOkUGu68MOnky1hw_15_2">2,823,375</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_PTGPZFY3JUeUeKA9RQ-T_A_15_4">2,968,642</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-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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;">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;"><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;">Amounts due to 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_26sT9YAvEEm88V1olm3oCw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_A4VZgeAZmUmZS8XB1nggrA_18_2">640,055</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_Jt_J6OtYD0-QdC688D872g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_NvMpo6yemkqwSvp7thBKfQ_18_4">157,821</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 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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilitiesCurrent" scale="3" id="Tc_VtJHBbYBFEmfy--_Iv0k7w_19_2">762</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeLiabilitiesCurrent" scale="3" id="Tc_Ug-tH6iiWEa-xBLUdC1exQ_19_4">1,438</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;">Other 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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_NonrelatedPartyMember_hE6Ui2A4iE-kl7u-8_CGWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_LasA2hA1KEC-W0G9AMTjJw_20_2">4,522</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_NonrelatedPartyMember_2vRcWQ1yXUirLwGNRbD7jw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherLiabilitiesCurrent" scale="3" id="Tc_mdkh2xce-UGDAuE0Ug65aA_20_4">8,899</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 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;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_c7AHHhbMFUupvUuU55acew_21_2">645,339</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_KOhlOnA1zU-3focGcTee8w_21_4">168,158</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;">Convertible notes</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayable" scale="3" id="Tc_0PiHahoXrECBwshnkjG7hg_22_2">225,977</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ConvertibleNotesPayable" scale="3" id="Tc_XWDzbKYMhkeih_NlfeZ0mA_22_4">227,424</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;">Deferred tax 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;"><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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_U8b8CX3lsEKW2He3awtK4A_23_2">4,690</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc__2_UjF2tJ02ju1HUwTi_1g_23_4">8,115</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;">Liability for uncertain tax positions</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_1BC3ezZOK02AdbVNkU3laQ_24_2">5,730</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilityForUncertainTaxPositionsNoncurrent" scale="3" id="Tc_qjRwccy2vUK87IbywJWonA_24_4">5,702</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</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_WWyg8DncmUWXJgKF6Tx_ZQ_25_2">881,736</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_AQJaMZ__bEiiXPnD8-I14w_25_4">409,399</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;">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;"><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;">Common shares &#8212; <ix:nonFraction unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_naMBX4Up4Emw4x7s1yD9GA"><ix:nonFraction unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_kyX3PfjFy0S3w0PBoGNe6A">no</ix:nonFraction></ix:nonFraction> par value: unlimited authorized shares, <ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_Hrv2W9B330SvYx4VRzG3EQ">64,506,055</ix:nonFraction> and <ix:nonFraction unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_qduH-UMRr0G5AgxwJ2HHeQ">66,158,741</ix:nonFraction> shares <span style="-sec-ix-hidden:Hidden_j6emgWMhXkGAKgzStNt_bg;"><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_Dj7PV6Ocn06g-KwcQI91sg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">outstanding</span></span> at December 31, 2022 and 2023, respectively</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_PV1OeRy3zUSiS6uVa05nUA_27_2">835,543</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_cRKAfB4T4ESYeDNpw8S-fA_27_4">835,543</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;">Additional paid-in capital</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_fDHxRV2cEk-8emvwKWghEA_28_2">1,127</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="Tc_eIk_c5zkKkO7ANWeJNaEaQ_28_4">292,737</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;">Retained earnings</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_lrGdw8fUfU6b3epMgiz8rw_29_2">1,275,520</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="Tc_8rmp8iIMPECfVQQYKvJfJA_29_4">1,549,707</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;">Accumulated other comprehensive loss</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_BpG2B_Ueh0K00g5yUCem_Q_30_2">170,551</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_Ouc5kqqE-kO8LXGbpegdbg_30_4">118,744</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 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:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_dWZDNiocD0OBFKkxt2GW6A_31_2">1,941,639</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_Z_PjlELNiUOe6agPhn1CbA_31_4">2,559,243</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 AND 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:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_-X9QPQnxRUqn4NQtChFdGA_32_2">2,823,375</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_qgGjzIzShEewOoUNlnpkrQ_32_4">2,968,642</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-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 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;"><a id="_762e5bad_0c5a_41b9_8560_a93565da30b5"></a><a id="Tc_MaN473JOPEGaso_gVVphbw_1_2"></a><a id="Tc_zLqz53Q1z0akxp8B03SX8w_2_2"></a><a id="Tc_icY0TMVOv0OLPDqC7xOswQ_2_4"></a><a id="Tc_VM5tGOUdU0eHCoftRyzpYA_2_6"></a><a id="Tc_d5huVbj1tE2WMiUgz9kh7g_3_2"></a><a id="Tc_eNCGQVJndEalLn-vrbG1tA_4_0"></a><a id="Tc_9WtXKEMVHUaG3rZgbAGxHg_4_4"></a><a id="Tc_QsjFw6jQC0a1_H3159cq2g_4_6"></a><a id="Tc_kYoFSomrSkGY4KqN3rlM6Q_5_0"></a><a id="Tc_22ZIC7jTNkSFT38Li5MsxQ_5_2"></a><a id="Tc_BcFjLXqquEqNQAG1F6iwvw_5_4"></a><a id="Tc_llYyENWGakWZcq_oSWS7pQ_5_6"></a><a id="Tc_dJuxXz1tA0C2ezbJbZcfOA_6_0"></a><a id="Tc_XZSnj3x6wkCx7mNp0RA60A_6_4"></a><a id="Tc_xKMwUU_vmkyjJtC0uLw_sQ_6_6"></a><a id="Tc_U8iJYIHpW06dNruTiDj0SA_7_0"></a><a id="Tc_DRSpA8YFUkKTqEa6mU3T3A_8_0"></a><a id="Tc_3hWINvoOe0uTB9D1a2--sw_9_0"></a><a id="Tc_Ao0AOxhujUGcGXDowyK7iQ_10_0"></a><a id="Tc_TykqT3HNDkasye0X-0CXBg_11_0"></a><a id="Tc_eKBXqkJAZEasGLCsSKz1UQ_11_4"></a><a id="Tc_RMnfbq4F8k6Gn_-Kpy_o_Q_11_6"></a><a id="Tc_SvZ2EcdD40-GR3l7xB9XBg_12_0"></a><a id="Tc_jc5HhzfU7U6DLfvzmX5dEQ_13_0"></a><a id="Tc_yA-_oxeZ-Ey1vIXYXMckQw_14_0"></a><a id="Tc_NIpT5aNdQkmUXvQJHwUtYw_15_0"></a><a id="Tc_kSYqx7W6FEG8O7X8pyw1JQ_16_0"></a><a id="Tc_aXzss8pmC0es99Hm3NXqAA_17_0"></a><a id="Tc_Mh-fa7VoL0ODkVeVHFNL6g_18_0"></a><a id="Tc_0VbwbiUMqkGlIMczLbOjhg_19_0"></a><a id="Tc_y3Pfdm-jw0ON0UTuGkOeCQ_20_0"></a><a id="Tc_69jc9RV96UenS3aKEqBnkg_21_0"></a><a id="Tc_wPeKPRyw6U-o1KStaqAy9A_22_0"></a><a id="Tc_1cflJ2KAxkiKW3uYDRO6Tw_23_0"></a><ix:continuation id="Tb_8r9-i2Q5cUG50R_TsdqYRw_cont2" continuedAt="Tb_8r9-i2Q5cUG50R_TsdqYRw_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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">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><td style="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;">2023</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" scale="3" id="Tc_w7JKCa0dW0Wi8oSwDSmKCg_4_2">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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="Tc_hC3sbYkOrUiwiLNJccuJ_A_6_2">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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Tc_0A34tTHgD0OxVLKTwkAikg_8_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Tc_qiprsz8-EUKyIvNRjkpSMA_8_4">890</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingExpense" scale="3" id="Tc_NmLYuyp5JUGCAHpC9c54tQ_8_6">263</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_QxtIJZbp40eFqOr4tsxU6A_9_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_XjPECkaXx0mepm57pBPAaA_9_4">11,261</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GeneralAndAdministrativeExpense" scale="3" id="Tc_unDBlbz2D0OD3kT6ARedSw_9_6">39,838</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_V8eAyH7dI0a75VgKYWcIyg_10_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_VdHL-D86t0K0rb2r6sSVqA_10_4">155</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpense" scale="3" id="Tc_edo9pZDyzkOPr741NaK_DA_10_6">97</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherOperatingIncomeExpenseNet" scale="3" id="Tc_Jz7riFdTukiluxlbDHgviQ_11_2">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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_bgQJLzOenEyE6a6gcEnuOQ_12_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_N8ahHnL6dECdDtlaZOCASw_12_4">12,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingExpenses" scale="3" id="Tc_GFqMI0KC0kyguW-JlurlBQ_12_6">40,198</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_D6G9CfXEvUiYgA0Aqyg_nA_13_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_DRMsq0WdYE2FtZw_uuYjdw_13_4">12,306</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" sign="-" scale="3" id="Tc_i9MMmoZTDE-EAR1pw3df7g_13_6">40,198</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_1k15Dzzuk0WVSU38VgRj8w_15_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_yGoiOqHzlUG_KCa0rgTGmg_15_4">23,229</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestExpense" scale="3" id="Tc_SZUlmyZJyUWC23Rb38YThg_15_6">18,720</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_7nyf03_sAUuyYZWNmHuycQ_16_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_cBawS82djEqTqr1Uhw-c4A_16_4">20,563</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentIncomeInterest" scale="3" id="Tc_Zq3EYhNP10qyIfVsufmuwA_16_6">22,862</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_L5u8qkNjokK5IfqbyZe5Vg_17_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_cze9Uz7NeEWwTgzqfUhp7g_17_4">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%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_WmFLkxIdI0Sv6_UItCDPrQ_17_6">1,535</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="3" id="Tc_0fVI3t4wf0el6A2Mln_J6A_18_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="3" id="Tc_iyX3rGDp7U6sChtAUfsCUQ_18_4">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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="3" id="Tc_yGbQRfJfTke2pGUHBsiDLQ_18_6">772</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" id="Tc_DfeDUGIWO0GdrtTTDHmAbA_19_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" sign="-" scale="3" id="Tc_hRfdA6v9LkeEtxq0kl8roA_19_4">2,894</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NonoperatingIncomeExpense" scale="3" id="Tc_0rOkeETG2km2CxLR6Y7edg_19_6">1,835</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;">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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" sign="-" scale="3" id="Tc_QQy8vRhh6EqaDDeUDmP6qg_20_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" sign="-" scale="3" id="Tc_SYaWORMxBkuDkp_Ln9qP1w_20_4">15,200</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" sign="-" scale="3" id="Tc_UasR0S58U0-NhFqJo5G63A_20_6">38,363</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 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_wSo_saJKIUip6GXqszoXkA_21_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_cKPRRSwZp0eCFbPllC48KA_21_4">8,786</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_JOY9cAx4G0qvUIAWOcNbjg_21_6">6,775</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_5B8pATNhLEWmrA0mQdWhsA_22_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_ldU_mmqMDkeSZqjitxw09g_22_4">246,382</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_1Mk16zk1MUqg40DrbOU3-A_22_6">319,325</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_pz74zikDUUSpULRbKzUNFA_23_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_cm49WKXGQ0ycz_8WbUYyuA_23_4">239,968</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic" scale="3" id="Tc_RW7HMrMwOUqzElKtPQ-KZg_23_6">274,187</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-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 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;"><a id="_a02fa7f2_8361_4911_89c1_70f61ce5342f"></a><a id="Tc_5Wh4PXPm-kKauRBPeW9tPQ_1_2"></a><a id="Tc_ihbhk-DbvkiaAif0uVqv-A_2_2"></a><a id="Tc_bpHLbfctikSpSO9NV0yRzQ_2_4"></a><a id="Tc_6bMzL5QDCUOVSpGTE8OR5g_2_6"></a><a id="Tc_wmKO0UbwCEK7-cTyuVUIuQ_3_2"></a><a id="Tc_poD4RtiLZ0CeiVEKsI3vlQ_4_0"></a><a id="Tc_S7jRELaVhk67PJLHuO56JQ_5_0"></a><a id="Tc_MZEE0996cEiZQjqBcF1U6g_6_0"></a><ix:continuation id="Tb_8r9-i2Q5cUG50R_TsdqYRw_cont3" continuedAt="Tb_8r9-i2Q5cUG50R_TsdqYRw_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;">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><td style="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;">2023</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_ASrMaO8AVkOUEzZHNCHMLw_4_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_QrewlRad0UG3gAAgM3BXUg_4_4">239,968</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_h05IxFHCiEG2EmJHxsXboQ_4_6">274,187</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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_6HCV7F6wakO_lR9hwtDpng_5_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_AOQQGC_4Sk2ni7m5KXxU9Q_5_4">120,511</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="Tc_HmOsgZwmvkOGWXsOIdfJFA_5_6">13,412</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_2RGB3bos2k23rFb4OmRjDg_6_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_2FhxSZgKxkCVNMUyIslmYA_6_4">119,457</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" scale="3" id="Tc_8vavZNx19U-qxxcnO9k6uQ_6_6">287,599</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-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 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;"><a id="_27d59078_4ee9_4617_81c8_0e9d47f451ec"></a><a id="Tc_T0sXvZWfpUW4ZSxU3NMSjA_1_2"></a><a id="Tc_bpdi0L7RFUC_SB5cKjGpAw_2_2"></a><a id="Tc_PYijkQAZTkavAMWa_q-rQA_2_4"></a><a id="Tc_PTI-qMhe7U6P46f28bCtBw_2_6"></a><a id="Tc_veX6fi6ankaZ8kxrS3Rb-A_3_2"></a><a id="Tc_MeS3BxGoxkuYO9vilJ5PjA_4_0"></a><a id="Tc_tRAWKRMS8kC_tET4rWayRA_5_0"></a><a id="Tc_Tl1W20xL20ytESF3UkWeMw_6_0"></a><a id="Tc_maNHpRuAsUmhyE_C3BS4Xw_7_0"></a><a id="Tc_UF4pMCvI9kWQ_peWhtN8Ug_7_4"></a><a id="Tc__lKuicnpIUuCMHeqHbBwkA_7_6"></a><a id="Tc_NWsC5NGubUqT-jEJpuQVUA_8_0"></a><a id="Tc_jjGC2Q_-N0-jaZcHExEiIw_9_0"></a><a id="Tc_7axWOvEgBkOg8uvICyKuJw_10_0"></a><a id="Tc_IE315qjzzUCTdu-X34o6xg_11_0"></a><a id="Tc_gAEvqcDqDE-zJv9qmav6fg_12_0"></a><a id="Tc_9nPBrdiKcEWeju-X0H3Wzg_13_0"></a><a id="Tc_KK6iInyomkmDXVGAQAvySQ_14_0"></a><a id="Tc_qmcSy6IU7kyKA0I-TN8TnQ_15_0"></a><a id="Tc_Fpa7uf3sUEu7PvFkRDoiDg_16_0"></a><a id="Tc_dCOPFOf0GUyz8FUJkZZFzg_16_6"></a><a id="Tc_oCCL9iJcDEqExTHOitD7lA_17_0"></a><a id="Tc_Hwk_B9a-pE-7WAGb1mACRA_18_0"></a><a id="Tc_j3IQYBv9ckm2C8fbVgkgEg_19_0"></a><a id="Tc_rGL0c2GOKk-dVGtAfmu6kA_20_0"></a><a id="Tc_M7LTWYZOUU2PzL8tEy5XsA_21_0"></a><a id="Tc_Eu33lVFb4UKnenGYs-a12Q_22_0"></a><a id="Tc_OKWQmQUYc0a4jrQtVDK-7Q_23_0"></a><a id="Tc_yeUWRd0GkUuc-wa3T_RDaQ_24_0"></a><a id="Tc_5RWn-GNex0qmuSLrPNJqWQ_24_6"></a><a id="Tc_HK_4jyyC80mPzBiD5Q0NWg_25_0"></a><a id="Tc_0AnTtyvFJEyuTay06kELlA_26_0"></a><a id="Tc_caDhwOSa9ku42f_GrCZA6A_27_0"></a><a id="Tc_Nw0NHlQ8MEOxsebcZbng_g_28_0"></a><a id="Tc_6hAFLcxk0kawIJoytl6JGA_29_0"></a><a id="Tc_qvTN8cxV6EK0SYZyLG2cfQ_29_4"></a><a id="Tc_9IApZYBSzEWhCla4yiw_6Q_29_6"></a><a id="Tc_LEg8auspPEi3taFC-TPNoQ_30_0"></a><a id="Tc_-1Sv7los9U2lvk-n1w4Xuw_30_2"></a><a id="Tc_Qq7lHHqbl02sLDmfbfQHNQ_30_6"></a><a id="Tc_JMsrTO3aBU6v54pCLfYnEA_31_0"></a><a id="Tc_eLDqY64ir0WXoPiojqz9rA_31_4"></a><a id="Tc_dwOIk_p7r0-jldxm1NHTzw_31_6"></a><a id="Tc_33ZiS9KG-Eu6-wYx4Yo_mg_32_0"></a><a id="Tc_hNpEUKpRekmWiHH37zXm7Q_32_4"></a><a id="Tc_vh9qXGO1GU-EGtHsYyGiIw_32_6"></a><a id="Tc_zeU4ruolmkC2cPSOphKI3g_33_0"></a><a id="Tc_ycNz9KOnfkONw8J6dSW-ZA_33_6"></a><a id="Tc_RaEeSDSs10maAz_JwwM6Pw_34_0"></a><a id="Tc_S0AI0YoXqkiZkBWsZvKpdA_35_0"></a><a id="Tc_GT8yHiLWMUSRAbXU7n-hxA_36_0"></a><a id="Tc_fixBQyd3xE6ap3rE6qyhgw_37_0"></a><a id="Tc_jlTpmjb_2ki-kXg7psfagA_38_0"></a><a id="Tc_7pxLCANQy0KBC_UifLN22g_39_0"></a><ix:continuation id="Tb_8r9-i2Q5cUG50R_TsdqYRw_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;">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><td style="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;">2023</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;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_yjm7vJjDi0GCsAw4QYlbSg_5_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_g07vauy6kE26IpEu8Fz_Nw_5_4">239,968</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" scale="3" id="Tc_NsKoP53tU0ab2KFJCuRcgQ_5_6">274,187</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_Z9ouzt-630moxQ0HQsIfxA_7_2">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><td style="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_TL7EqPWV00WVKgRhgMwMug_8_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_pnEzKHV7B0ehDm4yV2FGBQ_8_4">1,302</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccretionExpense" scale="3" id="Tc_nMnUUYEu7UeKyxwvIjnuXg_8_6">1,447</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" scale="3" id="Tc_3hNy3MumMkKRP3IBFg7UFw_9_2">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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_Sy_ESlGJfk6tt6eF0y3QUw_9_4">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="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" sign="-" scale="3" id="Tc_od5Vukv3kE2XRhhSwn6dlg_9_6">1,535</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 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_Am3_tmQcUkSH-TOpe_ZF1Q_10_2">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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_fOOasoHp00SNV3q4zbRoMA_10_4">246,382</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:EquityIncomeLossFromSubsidiaries" scale="3" id="Tc_7MPd1PbiR0uiJi0U9XFSvQ_10_6">319,325</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;">Share-based compensation</p></td><td style="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_OM4gL-0tC0Gncs_83j5uig_11_2">8,808</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_83eqqv68-k-UKG3WZpd9Cg_11_4">9,370</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_d5bu1ZxRpk-_8t9GXWsziA_11_6">28,410</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;">Deferred taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="Tc_yE7rIA-5EkiNZS7XXDvWIQ_12_2">805</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="Tc_C4SlpiAFy0ur0zkD9eHgiw_12_4">3,319</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="Tc_zRwJJKWvhUmkVeCj9FG-1w_12_6">5,180</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;">Changes in operating assets and 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: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;">Amounts due from 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" scale="3" id="Tc_gV7RavB-mEuN3uG-gxtpFQ_14_2">206,892</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" sign="-" scale="3" id="Tc_HFgzDq1-DEWDmUr1wd8klQ_14_4">10,990</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent" sign="-" scale="3" id="Tc__NZH2VKXokGj3fVB2_dK9A_14_6">245,001</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;">Prepaid expenses and other 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" sign="-" scale="3" id="Tc_KbRYEu1SZk-wJG1N-gDmBA_15_2">17,353</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_NSSffVp3AEGM2ZRDmnlt6A_15_4">7,900</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_1GBgQlkd8EeSRq2HNn1ndQ_15_6">1,594</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 non-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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" scale="3" id="Tc_0g9PU8Ol5UOiaicDWZ-Yeg_16_2">4,907</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherNoncurrentAssets" sign="-" scale="3" id="Tc_hvafuLhk5kmR3F3T591ybA_16_4">10</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 12pt;">Amounts due 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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" sign="-" scale="3" id="Tc_UCVmZQeMrEmiZqCGXpL8pQ_17_2">42,224</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" scale="3" id="Tc_ajvrOStBt0yXQ-GiVPhjEg_17_4">38,610</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent" sign="-" scale="3" id="Tc_sJ8ZNXHoCUiImSNjwZu4XQ_17_6">232,650</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 current 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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherCurrentLiabilities" sign="-" scale="3" id="Tc_FgQBpJClMkCOmUGlvEF7sg_18_2">27,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherCurrentLiabilities" sign="-" scale="3" id="Tc_ww7mY_G6WEOn7u0IhNVVgA_18_4">1,154</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherCurrentLiabilities" scale="3" id="Tc_4Ua5KSiOyUydya0qp6nTEg_18_6">4,377</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_Hpfd32ICC0eaq2If4dIugQ_19_2">5,915</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_yQkFjS9zZEqOGORPOuAAjw_19_4">1,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" sign="-" scale="3" id="Tc_fLtj0C_56kyeTm9gvcd7lA_19_6">28</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;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="3" id="Tc_wm9LWKrAAE2w70cq7NSEUQ_20_2">4,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" sign="-" scale="3" id="Tc_k0iURr_GwkSZhsM3e-zkcg_20_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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnSaleOfDerivatives" scale="3" id="Tc_BMBIqn1Y2k-JCbmHMJkf6A_20_6">859</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;">Net cash provided by (used in) operating 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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" sign="-" scale="3" id="Tc_KzfemFN5eEOwJmKgADyDKQ_21_2">264,201</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_vCLC7cjtA0602vIwwLJGCQ_21_4">47,714</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_tbP7LRSyAEim8YtQSjYPkA_21_6">5,681</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;">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 6pt;">Investments in 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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSubsidiaries" scale="3" id="Tc_jkAQlAndxkajM-UcXz0jVw_23_2">138,456</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSubsidiaries" scale="3" id="Tc_k1lgdxCNj0KRQ9dIgNlB3g_23_4">65,421</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireSubsidiaries" scale="3" id="Tc_8gB9n1R9dEWNcU8JDLsORg_23_6">22,164</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;">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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireAffiliates" scale="3" id="Tc_EUgBUHkxFEurPvFNIudJZQ_24_2">5,273</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsToAcquireAffiliates" scale="3" id="Tc_JG-DK_ZuDEWhLXxal7FphQ_24_4">990</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;">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%;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForProceedsFromLoansToSubsidiaries" scale="3" id="Tc_eBZpk80y2k6jQStulWQaOA_25_2">201,192</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForProceedsFromLoansToSubsidiaries" scale="3" id="Tc_1C2_vBSYoEWVFPtvYsovoQ_25_4">122,050</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="csiq:PaymentsForProceedsFromLoansToSubsidiaries" scale="3" id="Tc_5wBlVDoXfkC-muK8xIIHbA_25_6">62,226</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;">Repayment of 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;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentOfNotesReceivableFromRelatedParties" scale="3" id="Tc_g8AWrO3wh0-qZEGEC8rwCA_26_2">253,816</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;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentOfNotesReceivableFromRelatedParties" scale="3" id="Tc_ddtJ7UCQl0arQxlO_9yQ8Q_26_4">172,573</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;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentOfNotesReceivableFromRelatedParties" scale="3" id="Tc_fj8LRIK19UmQDSfpylvWww_26_6">69,150</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;">Net cash used in 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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_uaEOfIQfrUeea6KAZcHntA_27_2">91,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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_5-cIuu14AUuDzf9DlSWz6A_27_4">15,888</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_p34q60F8c0O0UxzNaSiipQ_27_6">15,240</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;">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: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;">Proceeds from (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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromRepaymentsOfNotesPayable" sign="-" scale="3" id="Tc_8ErXAjXf8EuIDevpk8Zygg_29_2">80,000</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><td style="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 6pt;">Repayment of loan from 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: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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="csiq:RepaymentOfLoanFromSubsidiaries" scale="3" id="Tc_6f9IVfiN7kCzCNSkl20Wuw_30_4">49,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: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;">Loan from a 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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="csiq:ProceedsFromLoansFromSubsidiaries" scale="3" id="Tc_p4YDMsTFwUWRIdCz1LHYow_31_2">280,000</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;">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;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromIssuanceOfCommonStock" scale="3" id="Tc_d2AtPTKw-0OPjVdcM5THpw_32_2">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;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%;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: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%;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%;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;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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_5bthD4hD4kWFouOa8FLSaw_33_2">348,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: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;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;"> (<ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_lwjBd17Z8E6EX81VCgeTzA_33_4">49,554</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;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;"> &#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;">Effect of exchange rate changes</p></td><td style="vertical-align: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" sign="-" scale="3" id="Tc_NHisdq2YNEqiViNFPnmlUA_34_2">797</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" scale="3" id="Tc_oddiAIdG20mzz211DCJ6Qw_34_4">5,957</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" sign="-" scale="3" id="Tc_J_rTou8Fk0WLjPuBDHp1vg_34_6">5,460</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;">Net decrease in cash, cash equivalents and restricted cash</p></td><td style="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_s5cKxTor-UegfoS32Iq2OA_35_2">7,593</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_BtS5y66nK0OYSoVS2Bc50Q_35_4">11,771</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_o1-OhbffnEOfk-wGwR8fmw_35_6">15,019</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 beginning 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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_B0sOlVpw50STUx9PBISUQg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_D-CcCxLl4UehXsGNpKwm1Q_36_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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_2I3jOHmUmEmiCDffN7MR2Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_JS-TXkF5DEe9rocIVmRphQ_36_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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_Z2AoTo1ikU2EfoMklXt5iQ_36_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;">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%;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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_2I3jOHmUmEmiCDffN7MR2Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_nfOLgCfYYUSKac1MSIea0A_37_2">27,432</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: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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_A1JcouVwqUiu59CoVtlmSA_37_4">15,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:8pt;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:8pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_lxdboQkaMkGJ4fqYcTDKvA_37_6">642</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 disclosure of cash flow information:</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">Interest paid (net of amounts capitalized)</p></td><td style="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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_9RCrCi-ae0KIkW6qt7cT4g_39_2">20,272</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_3b3TkaXbYkSxlS_l1gPbew_39_4">30,521</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_pyXxL-9HaU-hry2h_xpvLQ" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_B5QvXH22FESvhb4xPFYSlg_39_6">11,586</ix:nonFraction></p></td></tr></table><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></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-77</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-8.1
<SEQUENCE>2
<FILENAME>csiq-20231231xex8d1.htm
<DESCRIPTION>EXHIBIT 8.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.125.0--><!--Created on: 4/26/2024 11:04:08 AM (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&#160;8.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;">LIST OF MAJOR SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;" align="center"><tr><td style="vertical-align:bottom;width:63.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;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:normal;width:14.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;">Place&#160;of</b></p></td><td style="vertical-align:bottom;white-space:normal;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:normal;width:14.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;">Ownership</b></p></td><td style="vertical-align:bottom;white-space:normal;width:4.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;</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;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:normal;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:normal;width:14.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;">incorporation</b></p></td><td style="vertical-align:bottom;white-space:normal;width:2.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:normal;width:14.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;">interest</b></p></td><td style="vertical-align:bottom;white-space:normal;width:4.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;</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.47%;background:#cceeff;border-top:1px solid #000000;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 Solutions Inc.</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;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;white-space:normal;width:2.13%;background:#cceeff;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:normal;width:14.1%;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;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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 New Energy Holding Company Limited</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;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:normal;width:14.1%;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;white-space:normal;width:2.13%;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:normal;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">Recurrent Energy, LLC</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;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;white-space:normal;width:2.13%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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 Brasil I Fundo de Investimento em Participacoes &#8211; Multiestrategia</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;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:normal;width:14.1%;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:normal;width:2.13%;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:normal;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">Azuma Kofuji Daiichi Hatsudensho G.K.</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;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:normal;width:2.13%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">CSI Solar Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;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:normal;width:14.1%;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:normal;width:2.13%;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:normal;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">62.24</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">CSI Cells Co., Ltd. </p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;background:#cceeff;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:normal;width:14.1%;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:normal;width:2.13%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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 Manufacturing (Luoyang) Inc. </p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;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:normal;width:14.1%;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:normal;width:2.13%;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:normal;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">Canadian Solar Sunenergy (Baotou) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;background:#cceeff;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:normal;width:14.1%;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:normal;width:2.13%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">CSI Solar Technology (Xining) Co., Ltd</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;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:normal;width:14.1%;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:normal;width:2.13%;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:normal;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">Canadian Solar Manufacturing (Changshu) Inc. </p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;background:#cceeff;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:normal;width:14.1%;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:normal;width:2.13%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">CSI Modules (DaFeng) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;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:top;white-space:normal;width:14.1%;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:normal;width:2.13%;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:normal;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">Canadian Solar&#160;Sunenergy&#160;(Jiaxing) Co. Ltd</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;background:#cceeff;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:top;white-space:normal;width:14.1%;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:normal;width:2.13%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">CSI Cells (Yancheng) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;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:top;white-space:normal;width:14.1%;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:normal;width:2.13%;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:normal;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">Canadian Solar Sunenergy (SuQian) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;background:#cceeff;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:top;white-space:normal;width:14.1%;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:normal;width:2.13%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">CSI Cells (SuQian) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;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:top;white-space:normal;width:14.1%;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:normal;width:2.13%;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:normal;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">CSI Wafer (FuNing) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;background:#cceeff;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:top;white-space:normal;width:14.1%;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:normal;width:2.13%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">CSI Cells (Yangzhou) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;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:top;white-space:normal;width:14.1%;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:normal;width:2.13%;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:normal;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">Canadian Solar (USA) Inc.</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;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;white-space:normal;width:2.13%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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 US Module Manufacturing Corporation</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;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:normal;width:14.1%;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;white-space:normal;width:2.13%;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:normal;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">Canadian Solar EMEA GmbH</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Germany</p></td><td style="vertical-align:bottom;white-space:normal;width:2.13%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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 International Limited</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;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:normal;width:14.1%;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;white-space:normal;width:2.13%;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:normal;width:14.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">100</p></td><td style="vertical-align:bottom;white-space:normal;width:4.2%;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:63.47%;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;">Canadian Solar Manufacturing (Thailand) Co., Ltd.</p></td><td style="vertical-align:bottom;white-space:normal;width:1.98%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;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:normal;width:2.13%;background:#cceeff;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:normal;width:14.1%;background:#cceeff;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><td style="vertical-align:bottom;white-space:normal;width:4.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%*</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><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;">* </p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top: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 62.24% ownership interest.</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:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">** </p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">Disposed of in May 2023.</p></td></tr></table></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>3
<FILENAME>csiq-20231231xex12d1.htm
<DESCRIPTION>EXHIBIT 12.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.125.0--><!--Created on: 4/26/2024 11:04:08 AM (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&#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:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 0pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;" align="center"><tr style="height:1pt;"><td 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.05%;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.75%;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 colspan="3" style="vertical-align:top;width:50.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-align:justify;text-indent:-7.2pt;margin:0pt;">Date: April 26, 2024</p></td><td style="vertical-align:top;width:49.75%;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="3" style="vertical-align:top;width:50.24%;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.75%;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 style="vertical-align:top;width:4.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-align:justify;text-indent:-7.2pt;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.75%;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 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;text-align:justify;margin:0pt;">Name:</p></td><td style="vertical-align:top;width:39.05%;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.75%;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 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;text-align:justify;margin:0pt;">Title:</p></td><td style="vertical-align:top;width:39.05%;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.75%;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>4
<FILENAME>csiq-20231231xex12d2.htm
<DESCRIPTION>EXHIBIT 12.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.125.0--><!--Created on: 4/26/2024 11:04:08 AM (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:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 12pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt 0pt 0pt 36pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:top;width:4.33%;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.08%;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.84%;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.74%;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 colspan="3" style="vertical-align:top;width:50.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-align:justify;text-indent:-7.2pt;margin:0pt;">Date: April 26, 2024</p></td><td style="vertical-align:top;width:49.74%;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="3" style="vertical-align:top;width:50.25%;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.74%;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 style="vertical-align:top;width:4.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-align:justify;text-indent:-7.2pt;margin:0pt;">By:</p></td><td colspan="2" style="vertical-align:top;width:45.92%;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.74%;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 style="vertical-align:top;width:4.33%;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.84%;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.74%;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 style="vertical-align:top;width:4.33%;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.84%;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.74%;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>5
<FILENAME>csiq-20231231xex13d1.htm
<DESCRIPTION>EXHIBIT 13.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.125.0--><!--Created on: 4/26/2024 11:04:08 AM (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&#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, 2023 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:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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><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;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td 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 colspan="3" 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;">Date: April 26, 2024</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="3" 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 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 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 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>6
<FILENAME>csiq-20231231xex13d2.htm
<DESCRIPTION>EXHIBIT 13.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.125.0--><!--Created on: 4/26/2024 11:04:28 AM (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, 2023 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:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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:36pt;margin:0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><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><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;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td 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 colspan="3" 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;">Date: April 26, 2024</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="3" 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 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 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;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;">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 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;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 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>7
<FILENAME>csiq-20231231xex15d1.htm
<DESCRIPTION>EXHIBIT 15.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.125.0--><!--Created on: 4/26/2024 11:04:30 AM (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&#160;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-align:justify;text-indent:36pt;margin:0pt;">We consent to the incorporation by reference in Registration Statement Nos. 333-147042, 333-178187 and 333-201766 on Form&#160;S-8 and Registration Statement No.&#160;333-256526 on Form&#160;F-3 of our reports dated April 26, 2024, relating to the financial statements of Canadian Solar Inc. and the effectiveness of Canadian Solar Inc.&#8217;s internal control over financial reporting, appearing in this Annual Report on Form&#160;20-F for the year ended December&#160;31, 2023.</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;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:43.93%;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:56.06%;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 colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">/s/ Deloitte Touche Tohmatsu Certified Public Accountants LLP</p></td></tr><tr><td style="vertical-align:top;width:43.93%;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:56.06%;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 style="vertical-align:top;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Shanghai, China</p></td><td style="vertical-align:top;width:56.06%;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 style="vertical-align:top;width:43.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">April 26, 2024</p></td><td style="vertical-align:top;width:56.06%;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-97.1
<SEQUENCE>8
<FILENAME>csiq-20231231xex97d1.htm
<DESCRIPTION>EXHIBIT 97.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.6.125.0--><!--Created on: 4/26/2024 11:04:30 AM (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;"><b style="font-size:12pt;font-weight:bold;">Exhibit 97.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-size:12pt;font-weight:bold;">CLAWBACK POLICY</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:12pt;font-weight:bold;">CANADIAN SOLAR INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-size:12pt;font-weight:bold;">PURPOSE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">Canadian Solar Inc. (the &#8220;</font><u style="font-size:12pt;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Company</u><font style="font-size:12pt;">&#8221;) believes that it is in the best interests of the Company and its shareholders to create and maintain a culture that emphasizes integrity and accountability and reinforces the Company&#8217;s pay-for-performance compensation philosophy. The Company&#8217;s Board of Directors (the &#8220;</font><u style="font-size:12pt;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Board</u><font style="font-size:12pt;">&#8221;) has therefore adopted this policy, which provides for the recoupment of certain executive compensation if the Company is required to prepare an accounting restatement of its financial statements due to </font><u style="font-size:12pt;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">material noncompliance</u><font style="font-size:12pt;"> with any financial reporting requirement under the federal securities laws (this &#8220;</font><u style="font-size:12pt;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Policy</u><font style="font-size:12pt;">&#8221;). This Policy is designed to comply with Section 10D of the Securities Exchange Act of 1934, as amended (the &#8220;</font><u style="font-size:12pt;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Exchange Act</u><font style="font-size:12pt;">&#8221;), the rules promulgated thereunder, and the listing standards of the Nasdaq Stock Market.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-size:12pt;font-weight:bold;">ADMINISTRATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">This Policy shall be administered by the Compensation Committee of the Board (the &#8220;</font><u style="font-size:12pt;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Compensation Committee</u><font style="font-size:12pt;">&#8221;). Any determinations made by the Compensation Committee shall be final and binding on all affected individuals.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-size:12pt;font-weight:bold;">COVERED EXECUTIVES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">This Policy applies to the Company&#8217;s current and former executive officers (as determined by the Compensation Committee in accordance with Section 10D of the Exchange Act, the rules promulgated thereunder, and the listing standards of the Nasdaq Stock Market) and such other senior executives or employees who may from time to time be deemed subject to this Policy by the Compensation Committee (collectively, &#8220;</font><u style="font-size:12pt;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Covered Executives</u><font style="font-size:12pt;">&#8221;). This Policy shall be binding and enforceable against all Covered Executives.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">Each Covered Executive shall be required to sign and return to the Company the Acknowledgement and Acceptance Form attached hereto as Exhibit A as a condition to the participation in any of the Company&#8217;s Incentive-Based Compensation.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:12pt;font-weight:bold;">RECOUPMENT; ACCOUNTING RESTATEMENT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">If the Company is required to prepare an accounting restatement of its financial statements due to the Company&#8217;s material noncompliance with any financial reporting requirement under the securities laws, including any required accounting restatement to (i) correct an error in previously issued financial statements that is material to the previously issued financial statements, or (ii) that would result in a material misstatement if the error were corrected in the current period or left uncorrected in the current period (each, an &#8220;</font><u style="font-size:12pt;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Accounting Restatement</u><font style="font-size:12pt;">&#8221;), the Compensation Committee will reasonably promptly require reimbursement or forfeiture of the Overpayment (as defined below) received by any Covered Executive (x) after beginning service as a Covered Executive, (y) who served as a Covered Executive at any time</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></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 12pt 0pt;"><font style="font-size:12pt;">during the performance period for the applicable Incentive-Based Compensation (as defined below), and (z) during the three (3) completed fiscal years immediately preceding the date on which the Company is required to prepare an Accounting Restatement and any transition period (that results from a change in the Company&#8217;s fiscal year) within or immediately following those three (3) completed fiscal years. For purposes hereof, the Company will be deemed to have been &#8220;required&#8221; to prepare an accounting restatement on the date that is the earlier of (i) the date the Board, any committee thereof or any officers of the Company authorized to take such action if board action is not required, concludes, or reasonably should have concluded, that the Company is required to prepare an accounting restatement due to material noncompliance with any financial reporting requirements under the federal securities laws, or (ii) the date a court, regulator or other legally authorized body directs the Company to prepare an accounting restatement.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:12pt;font-weight:bold;">INCENTIVE-BASED COMPENSATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">For purposes of this Policy, &#8220;</font><u style="font-size:12pt;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Incentive-Based Compensation</u><font style="font-size:12pt;">&#8221; means any compensation that is granted, earned or vested based wholly or in part upon the attainment of a financial reporting measure, including, but not limited to: (i) non-equity incentive plan awards that are earned solely or in part by satisfying a financial reporting measure performance goal; (ii) bonuses paid from a bonus pool, where the size of the pool is determined solely or in part by satisfying a financial reporting measure performance goal; (iii) other cash awards based on satisfaction of a financial reporting measure performance goal; (iv) restricted stock, restricted stock units, performance share units, stock options and stock appreciation rights that are granted or vest solely or in part based on satisfaction of a financial reporting measure performance goal; and (v) proceeds from the sale of shares acquired through an incentive plan that were granted or vested solely or in part based on satisfaction of a financial reporting measure performance goal. Compensation that would not be considered Incentive-Based Compensation includes, but is not limited to: (i) salaries; (ii) bonuses paid solely on satisfying subjective standards, such as demonstrating leadership, and/or completion of a specified employment period; (iii) non-equity incentive plan awards earned solely based on satisfaction of strategic or operational measures; (iv) wholly time-based equity awards; and (v) discretionary bonuses or other compensation that is not paid from a bonus pool that is determined by satisfying a financial reporting measure performance goal.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><font style="font-size:12pt;">Financial reporting measures are measures that are determined and presented in accordance with the accounting principles used in preparing the Company&#8217;s financial statements, and any measures derived wholly or in part from such measures. Stock price and total shareholder return are also financial reporting measures. Financial reporting measures include, but are not limited to: revenues; net income; operating income; profitability of one or more reportable segments; financial ratios (e.g., accounts receivable turnover and inventory turnover rates); net assets; earnings before interest, taxes, depreciation and amortization; funds from operations; liquidity measures (e.g., working capital and operating cash flow); return measures (e.g., return on invested capital and return on assets); earnings measures (e.g., earnings per share); any of such financial reporting measures relative to a peer group, where the Company&#8217;s financial reporting measure is subject to an accounting restatement; and tax basis income.</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></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 12pt 0pt;"><b style="font-size:12pt;font-weight:bold;">OVERPAYMENT: AMOUNT SUBJECT TO RECOVERY</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">The amount to be recovered will be the amount of Incentive-Based Compensation received that exceeds the amount of Incentive-Based Compensation that otherwise would have been received had it been determined based on the restated amounts, and must be computed without regard to any taxes paid (the &#8220;</font><u style="font-size:12pt;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Overpayment</u><font style="font-size:12pt;">&#8221;). Incentive-Based Compensation is deemed &#8220;received&#8221; in the fiscal period during which the financial reporting measure specified in the award of the Incentive-Based Compensation is attained, even if the vesting, payment or grant of the Incentive-Based Compensation occurs after the end of that period.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">For Incentive-Based Compensation based on stock price or total shareholder return, where the amount of erroneously awarded compensation is not subject to mathematical recalculation directly from the information in the Accounting Restatement, the amount must be based on a reasonable estimate of the effect of the Accounting Restatement on the stock price or total shareholder return upon which the Incentive-Based Compensation was received; and the Company must maintain documentation of the determination of that reasonable estimate and provide such documentation to the Nasdaq Stock Market.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:12pt;font-weight:bold;">METHOD OF RECOUPMENT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">The Compensation Committee will determine, in its sole discretion, the method or methods for recouping any Overpayment hereunder, which may include, without limitation:</font></p><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;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:12pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:12pt;font-style:normal;font-weight:normal;">requiring reimbursement of cash Incentive-Based Compensation previously paid;</font></td></tr></table><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;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:12pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:12pt;font-style:normal;font-weight:normal;">seeking recovery of any gain realized on the vesting, exercise, settlement, sale, transfer or other disposition of any equity-based awards granted as Incentive-Based Compensation;</font></td></tr></table><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;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:12pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:12pt;font-style:normal;font-weight:normal;">offsetting any or all of the Overpayment from any compensation otherwise owed by the Company to the Covered Executive;</font></td></tr></table><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;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:12pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:12pt;font-style:normal;font-weight:normal;">cancelling outstanding vested or unvested equity awards; and/or</font></td></tr></table><table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;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:12pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:12pt;font-style:normal;font-weight:normal;">taking any other remedial or recovery action permitted by law, as determined by the Compensation Committee.</font></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:12pt;font-weight:bold;">LIMITATION ON RECOVERY; NO ADDITIONAL PAYMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">The right to recovery will be limited to Overpayments received during the three (3) completed fiscal years immediately preceding the date on which the Company is required to prepare an Accounting Restatement and any transition period (that results from a change in the Company&#8217;s fiscal year) within or immediately following those three completed fiscal years. In no event shall the Company be required to award Covered Executives an additional payment if the restated or accurate financial results would have resulted in a higher Incentive-Based Compensation payment.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:12pt;font-weight:bold;">NO INDEMNIFICATION</b></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></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;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">The Company shall not indemnify any Covered Executives against the loss of any incorrectly awarded Incentive-Based Compensation.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:12pt;font-weight:bold;">INTERPRETATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">The Compensation Committee is authorized to interpret and construe this Policy and to make all determinations necessary, appropriate or advisable for the administration of this Policy. It is intended that this Policy be interpreted in a manner that is consistent with the requirements of Section 10D of the Exchange Act and the applicable rules or standards adopted by the Securities and Exchange Commission or the Nasdaq Stock Market.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:12pt;font-weight:bold;">EFFECTIVE DATE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">This Policy shall be effective as of the date it is adopted by the Board (the &#8220;</font><u style="font-size:12pt;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Effective Date</u><font style="font-size:12pt;">&#8221;) and shall apply to Incentive-Based Compensation (including Incentive-Based Compensation granted pursuant to arrangements existing prior to the Effective Date). Notwithstanding the foregoing, this Policy shall only apply to Incentive-Based Compensation received (as determined pursuant to this Policy) on or after October 2, 2023.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:12pt;font-weight:bold;">AMENDMENT; TERMINATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">The Board may amend this Policy from time to time in its discretion. The Board may terminate this Policy at any time.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:12pt;font-weight:bold;">OTHER RECOUPMENT RIGHTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">The Board intends that this Policy will be applied to the fullest extent of the law. The Compensation Committee may require that any employment or service agreement, equity award agreement or similar agreement entered into on or after the adoption of this Policy shall, as a condition to the grant of any benefit thereunder, require a Covered Executive to agree to abide by the terms of this Policy. Any right of recoupment under this Policy is in addition to, and not in lieu of, any other remedies or rights of recoupment that may be available to the Company pursuant to the terms of any similar policy in any employment agreement, equity award agreement, cash-based bonus plan or program, or similar agreement and any other legal remedies available to the Company.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:12pt;font-weight:bold;">IMPRACTICABILITY</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">The Compensation Committee shall recover any Overpayment in accordance with this Policy except to the extent that the Compensation Committee determines such recovery would be impracticable because:</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">(A) the direct expense paid to a third party to assist in enforcing this Policy would exceed the amount to be recovered;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">(B) recovery would violate home country law of the Company where that law was adopted prior to November 28, 2022; or</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></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;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">(C) recovery would likely cause an otherwise tax-qualified retirement plan, under which benefits are broadly available to employees of the Company, to fail to meet the requirements of 26 U.S.C. 401(a)(13) or 26 U.S.C. 411(a) and regulations thereunder.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-size:12pt;font-weight:bold;">SUCCESSORS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="font-size:12pt;">This Policy shall be binding and enforceable against all Covered Executives and their beneficiaries, heirs, executors, administrators or other legal representatives.</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-101.SCH
<SEQUENCE>9
<FILENAME>csiq-20231231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.6.2.5 -->
<!--Based on XBRL 2.1-->
<!--Created on: 4/26/2024 11:04:56 AM-->
<!--Modified on: 4/26/2024 11:04:56 AM-->
<xsd:schema targetNamespace="http://www.canadiansolar.com/20231231" 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/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:us-types="http://fasb.org/us-types/2023" xmlns:us-roles="http://fasb.org/us-roles/2023" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:csiq="http://www.canadiansolar.com/20231231" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:srt-roles="http://fasb.org/srt-roles/2023" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:naics="http://xbrl.sec.gov/naics/2023" xmlns:attributeFormDefault="unqualified" xmlns:srt="http://fasb.org/srt/2023" 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/2023" 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/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/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails" id="DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails">
        <link:definition>42602 - Disclosure - NON-CONTROLLING INTERESTS - Effects of changes in Company's ownership interest in less than wholly owned subsidiaries on equity attributable to Canadian Solar Inc (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>42802 - 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>42806 - 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>12801 - 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/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAdvancesFromCustomersAndAssetRetirementObligationDetails" id="DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAdvancesFromCustomersAndAssetRetirementObligationDetails">
        <link:definition>40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Advances from customers and 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/DisclosureFairValueMeasurementInterestRateSwapDetails" id="DisclosureFairValueMeasurementInterestRateSwapDetails">
        <link:definition>40901 - 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>40902 - 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>40904 - 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/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/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/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails" id="DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails">
        <link:definition>42503 - Disclosure - SHARE-BASED COMPENSATION - 2020 CSI Solar Employee Incentive Plan (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/DisclosureNonControllingInterestsAdditionalInformationDetails" id="DisclosureNonControllingInterestsAdditionalInformationDetails">
        <link:definition>42601 - Disclosure - NON-CONTROLLING INTERESTS - 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/DisclosureSubsequentEventDetails" id="DisclosureSubsequentEventDetails">
        <link:definition>42701 - 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>42801 - 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>42803 - 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>42804 - 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/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails" id="DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails">
        <link:definition>42805 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (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/DisclosureNonControllingInterests" id="DisclosureNonControllingInterests">
        <link:definition>12601 - Disclosure - NON-CONTROLLING INTERESTS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureSubsequentEvent" id="DisclosureSubsequentEvent">
        <link:definition>12701 - 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/DisclosureNonControllingInterestsTables" id="DisclosureNonControllingInterestsTables">
        <link:definition>32603 - Disclosure - NON-CONTROLLING INTERESTS (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails" id="DisclosureFairValueMeasurementMarketableSecuritiesDetails">
        <link:definition>40903 - 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-20231231_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-20231231_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-20231231_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-20231231_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/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/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/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.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/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
  <xsd:import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.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="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_RecurrentEnergyLlcMember" name="RecurrentEnergyLlcMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <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_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_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_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" name="AssetsHeldForSaleNumberOfSolarPowerPlantsSold" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <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_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_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_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_CanadianSolarMember" name="CanadianSolarMember" 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_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_CanadianSolarNetherlandCooperativeUaMember" name="CanadianSolarNetherlandCooperativeUaMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <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_BatteryStorageSolutionsMember" name="BatteryStorageSolutionsMember" 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_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="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="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="YanchengJiwaNewMaterialTechnologyCo.LtdMember" id="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" 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="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="UnusualOrInfrequentItemPolicyTextBlock" id="csiq_UnusualOrInfrequentItemPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <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="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="CsiSolarTechnologyXiningCoLtdMember" id="csiq_CsiSolarTechnologyXiningCoLtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CsiCellsSuqianCoLtdMember" id="csiq_CsiCellsSuqianCoLtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CsiCellsYangzhouCoLtdMember" id="csiq_CsiCellsYangzhouCoLtdMember" 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="RepaymentOfLoanFromSubsidiaries" id="csiq_RepaymentOfLoanFromSubsidiaries" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <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="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="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="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="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="EighthAdministrativeReviewOfSolarTwoMember" id="csiq_EighthAdministrativeReviewOfSolarTwoMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CsiSolarCoLtdMember" id="csiq_CsiSolarCoLtdMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="InvestmentsInAffiliatesImpairmentCharge" id="csiq_InvestmentsInAffiliatesImpairmentCharge" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="AllowanceForWarrantyInsuranceReceivableMember" id="csiq_AllowanceForWarrantyInsuranceReceivableMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ProceedsFromSubsidiaryEquityOfferings" id="csiq_ProceedsFromSubsidiaryEquityOfferings" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="ReclassificationFromProjectAssetsToSolarPowerSystems" id="csiq_ReclassificationFromProjectAssetsToSolarPowerSystems" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="ReclassificationFromInventoriesToSolarPowerSystems" id="csiq_ReclassificationFromInventoriesToSolarPowerSystems" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="BorrowingsAssumedByThirdPartiesWithProjectAssetSales" id="csiq_BorrowingsAssumedByThirdPartiesWithProjectAssetSales" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" id="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="AmountOfInvestmentCommitmentInExchangeOfVotingRights" id="csiq_AmountOfInvestmentCommitmentInExchangeOfVotingRights" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="PercentageOfVotingRightsInExchangeOfInvestment" id="csiq_PercentageOfVotingRightsInExchangeOfInvestment" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="BlackRockMember" id="csiq_BlackRockMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="AdvancesFromCustomersPolicyTextBlock" id="csiq_AdvancesFromCustomersPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="RecurrentEnergySegmentMember" id="csiq_RecurrentEnergySegmentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="GainLossOnDisposalOfSolarPowerSystems" id="csiq_GainLossOnDisposalOfSolarPowerSystems" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="ContractLiabilitiesOtherNonCurrentLiabilities" id="csiq_ContractLiabilitiesOtherNonCurrentLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="NumberOfTranches" id="csiq_NumberOfTranches" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="GreenBondsMember" id="csiq_GreenBondsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="NonRecourseProjectBondsMember" id="csiq_NonRecourseProjectBondsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="TermLoanFacilityTwoMember" id="csiq_TermLoanFacilityTwoMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="Aurora01GkMember" id="csiq_Aurora01GkMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="UnsecuredCreditFacilityMember" id="csiq_UnsecuredCreditFacilityMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SecuredCreditFacilityMember" id="csiq_SecuredCreditFacilityMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="NonRecourseProjectFinanceFacilityMember" id="csiq_NonRecourseProjectFinanceFacilityMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LingangFrontierCsiNewEnergyInvestmentFundLpMember" id="csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="MarangatuHoldingS.aMember" id="csiq_MarangatuHoldingS.aMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="PanatiHoldingS.a.Member" id="csiq_PanatiHoldingS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member" id="csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries" id="csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="debit" />
  <xsd:element name="CsiSolarCo.Ltd.Member" id="csiq_CsiSolarCo.Ltd.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ShareIncentivePlan2006Member" id="csiq_ShareIncentivePlan2006Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CsiSolarEmployeeIncentivePlan2020Member" id="csiq_CsiSolarEmployeeIncentivePlan2020Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" id="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="EpcAndOthersMember" id="csiq_EpcAndOthersMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ElectricityRevenueFromOperatingPortfolioAndOthersMember" id="csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="BrazilianInvestorMember" id="csiq_BrazilianInvestorMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="NinthAdministrativeReviewOfSolarOneMember" id="csiq_NinthAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="TenthAndEleventhAdministrativeReviewOfSolarOneMember" id="csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="RepaymentsOfFinanceLeaseObligation" id="csiq_RepaymentsOfFinanceLeaseObligation" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan" id="csiq_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects" id="csiq_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects" type="xbrli:durationItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="StandardProductWarrantyTerm" id="csiq_StandardProductWarrantyTerm" type="xbrli:durationItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="NumberOfUnitsHeldAsInvestments" id="csiq_NumberOfUnitsHeldAsInvestments" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="DomesticAndStateTaxAuthorityMember" id="csiq_DomesticAndStateTaxAuthorityMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent" id="csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="AssetsLesseeAbstract" id="csiq_AssetsLesseeAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="LiabilitiesLesseeAbstract" id="csiq_LiabilitiesLesseeAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="NumberOfMonocrystallineSiliconPhotovoltaicCells" id="csiq_NumberOfMonocrystallineSiliconPhotovoltaicCells" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="NumberOfMonocrystallineSiliconPhotovoltaicHalfCells" id="csiq_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells" type="xbrli:integerItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="MinimumModuleEfficiency" id="csiq_MinimumModuleEfficiency" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="RevenueGeneratedFromFinanceLease" id="csiq_RevenueGeneratedFromFinanceLease" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember" id="csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="GreenBondsAndConvertibleDebtNoncurrent" id="csiq_GreenBondsAndConvertibleDebtNoncurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="SolarPowerAndBatteryEnergyStorageAssetSalesMember" id="csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="PowerServicesOMAndAssetManagementMember" id="csiq_PowerServicesOMAndAssetManagementMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>10
<FILENAME>csiq-20231231_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.6.2.5 -->
<!--Based on XBRL 2.1-->
<!--Created on: 4/26/2024 11:04:56 AM-->
<!--Modified on: 4/26/2024 11:04:56 AM-->
<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-20231231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#StatementConsolidatedStatementsOfOperations" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#StatementConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#StatementConsolidatedStatementsOfCashFlowsParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureAllowanceForCreditLossesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureInventoriesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInventoriesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureProjectAssetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosurePropertyPlantAndEquipmentNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSolarPowerSystemsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIntangibleAssetsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureVariableInterestEntitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseLeaseExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseSupplementBalanceSheetInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseOperatingLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseOperatingLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseFinanceLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseFinanceLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseTotalLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseTotalLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseTotalLeasesSummaryDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureBorrowingsLongTermDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIncomeTaxesReconciliationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails" roleURI="http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638497262831369862" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_638497262831369862" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638497262831369862" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638497262831369862" xlink:to="us-gaap_LiabilitiesCurrent_638497262831369862" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638497262831379938" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638497262831369862" xlink:to="us-gaap_ShortTermBorrowings_638497262831379938" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="us-gaap_AccountsPayableTradeCurrent_638497262831379938" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638497262831369862" xlink:to="us-gaap_AccountsPayableTradeCurrent_638497262831379938" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable_638497262831379938" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638497262831369862" xlink:to="csiq_ShortTermNotesPayable_638497262831379938" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableOtherCurrent" xlink:label="us-gaap_AccountsPayableOtherCurrent_638497262831379938" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638497262831369862" xlink:to="us-gaap_AccountsPayableOtherCurrent_638497262831379938" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638497262831379938" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638497262831369862" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638497262831379938" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_638497262831379938" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638497262831369862" xlink:to="us-gaap_DerivativeLiabilitiesCurrent_638497262831379938" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638497262831379938" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638497262831369862" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638497262831379938" order="7" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent_638497262831389869" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638497262831369862" xlink:to="us-gaap_OtherLiabilitiesCurrent_638497262831389869" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638497262831389869" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638497262831369862" xlink:to="us-gaap_LongTermNotesAndLoans_638497262831389869" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_GreenBondsAndConvertibleDebtNoncurrent" xlink:label="csiq_GreenBondsAndConvertibleDebtNoncurrent_638497262831389869" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638497262831369862" xlink:to="csiq_GreenBondsAndConvertibleDebtNoncurrent_638497262831389869" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638497262831389869" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638497262831369862" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638497262831389869" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638497262831389869" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638497262831369862" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638497262831389869" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638497262831400003" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638497262831369862" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638497262831400003" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_638497262831400003" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638497262831369862" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_638497262831400003" order="7" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638497262831400003" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638497262831400003" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638497262831400003" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638497262831400003" xlink:to="us-gaap_StockholdersEquity_638497262831400003" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638497262831400003" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638497262831400003" xlink:to="us-gaap_CommonStockValue_638497262831400003" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_638497262831409818" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638497262831400003" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_638497262831409818" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638497262831409818" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638497262831400003" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638497262831409818" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638497262831409818" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638497262831400003" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638497262831409818" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest_638497262831409818" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638497262831400003" xlink:to="us-gaap_MinorityInterest_638497262831409818" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="Assets" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638497262831419852" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_AssetsCurrent_638497262831419852" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638497262831419852" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638497262831419852" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638497262831419852" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638497262831419852" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638497262831419852" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638497262831419852" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638497262831419852" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638497262831419852" xlink:to="us-gaap_AccountsReceivableNetCurrent_638497262831419852" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent_638497262831419852" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638497262831419852" xlink:to="us-gaap_UnbilledReceivablesCurrent_638497262831419852" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent_638497262831429824" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638497262831419852" xlink:to="us-gaap_OtherReceivablesNetCurrent_638497262831429824" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_638497262831429824" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638497262831419852" xlink:to="us-gaap_InventoryNet_638497262831429824" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValueAddedTaxReceivableCurrent" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent_638497262831429824" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638497262831419852" xlink:to="us-gaap_ValueAddedTaxReceivableCurrent_638497262831429824" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases_638497262831429824" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638497262831419852" xlink:to="us-gaap_AdvancesOnInventoryPurchases_638497262831429824" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent_638497262831429824" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638497262831419852" xlink:to="us-gaap_DerivativeAssetsCurrent_638497262831429824" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638497262831439813" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638497262831419852" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638497262831439813" order="10" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638497262831439813" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638497262831419852" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638497262831439813" order="11" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638497262831439813" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638497262831439813" order="2" use="optional" weight="1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638497262831439813" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638497262831439813" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent" xlink:label="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent_638497262831439813" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent_638497262831439813" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems_638497262831449828" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_SolarPowerSystems_638497262831449828" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638497262831449828" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638497262831449828" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AdvancesOnInventoryPurchasesNonCurrent" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent_638497262831449828" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_AdvancesOnInventoryPurchasesNonCurrent_638497262831449828" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_638497262831449828" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_EquityMethodInvestments_638497262831449828" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638497262831459907" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638497262831459907" order="9" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638497262831459907" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638497262831459907" order="10" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638497262831459907" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_638497262831459907" order="11" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638497262831459907" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638497262831459907" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="NetIncomeLossAvailableToCommonStockholdersBasic" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638497262831469841" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_ProfitLoss_638497262831469841" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638497262831469841" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_638497262831469841" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638497262831469841" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638497262831469841" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638497262831469841" xlink:to="us-gaap_OperatingIncomeLoss_638497262831469841" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638497262831469841" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638497262831469841" xlink:to="us-gaap_GrossProfit_638497262831469841" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262831469841" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638497262831469841" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262831469841" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638497262831479814" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_GrossProfit_638497262831469841" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638497262831479814" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses_638497262831479814" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss_638497262831469841" xlink:to="us-gaap_OperatingExpenses_638497262831479814" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense_638497262831479814" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_638497262831479814" xlink:to="us-gaap_SellingAndMarketingExpense_638497262831479814" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_638497262831479814" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_638497262831479814" xlink:to="us-gaap_GeneralAndAdministrativeExpense_638497262831479814" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_638497262831479814" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_638497262831479814" xlink:to="us-gaap_ResearchAndDevelopmentExpense_638497262831479814" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_638497262831479814" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses_638497262831479814" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_638497262831479814" order="4" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638497262831479814" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638497262831469841" xlink:to="us-gaap_NonoperatingIncomeExpense_638497262831479814" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638497262831489831" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638497262831479814" xlink:to="us-gaap_InterestExpense_638497262831489831" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest_638497262831489831" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638497262831479814" xlink:to="us-gaap_InvestmentIncomeInterest_638497262831489831" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262831489831" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638497262831479814" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262831489831" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638497262831489831" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638497262831479814" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638497262831489831" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments_638497262831489831" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NonoperatingIncomeExpense_638497262831479814" xlink:to="us-gaap_GainLossOnInvestments_638497262831489831" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638497262831499819" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_638497262831469841" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638497262831499819" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638497262831499819" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_638497262831469841" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638497262831499819" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638497262831499819" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLossAvailableToCommonStockholdersBasic" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638497262831499819" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="ComprehensiveIncomeNetOfTax" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638497262831499819" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638497262831499819" order="1" use="optional" weight="-1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638497262831499819" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638497262831499819" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638497262831509662" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638497262831499819" xlink:to="us-gaap_ProfitLoss_638497262831509662" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638497262831509662" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638497262831499819" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638497262831509662" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_638497262831509662" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638497262831499819" xlink:to="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_638497262831509662" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_638497262831509662" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638497262831499819" xlink:to="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_638497262831509662" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_638497262831509662" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638497262831499819" xlink:to="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_638497262831509662" order="5" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638497262831519911" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_ProfitLoss_638497262831519911" order="1" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense_638497262831519911" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_AccretionExpense_638497262831519911" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638497262831519911" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638497262831519911" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638497262831519911" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638497262831519911" order="4" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638497262831519911" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638497262831519911" order="5" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638497262831519911" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638497262831519911" order="6" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638497262831519911" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638497262831519911" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_638497262831530136" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_AssetImpairmentCharges_638497262831530136" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_638497262831530136" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="csiq_ProjectAssetsImpairmentCharge_638497262831530136" order="9" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InvestmentsInAffiliatesImpairmentCharge" xlink:label="csiq_InvestmentsInAffiliatesImpairmentCharge_638497262831530136" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="csiq_InvestmentsInAffiliatesImpairmentCharge_638497262831530136" order="10" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262831530136" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262831530136" order="11" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638497262831530136" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638497262831530136" order="12" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638497262831530136" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638497262831530136" order="13" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown_638497262831539877" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_InventoryWriteDown_638497262831539877" order="14" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NonCashOperatingLeaseExpenses" xlink:label="csiq_NonCashOperatingLeaseExpenses_638497262831539877" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="csiq_NonCashOperatingLeaseExpenses_638497262831539877" order="15" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638497262831539877" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_ShareBasedCompensation_638497262831539877" order="16" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_UnrealizedGainLossFromSalesToInvestees" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_638497262831539877" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="csiq_UnrealizedGainLossFromSalesToInvestees_638497262831539877" order="17" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638497262831549533" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638497262831549533" order="18" use="optional" weight="-1" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_638497262831549533" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_638497262831549533" order="19" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638497262831549533" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638497262831549533" order="20" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638497262831549533" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638497262831549533" order="21" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_638497262831549533" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_IncreaseDecreaseInInventories_638497262831549533" order="22" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncreaseDecreaseInValueAddedTaxReceivable" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable_638497262831560077" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="csiq_IncreaseDecreaseInValueAddedTaxReceivable_638497262831560077" order="23" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncreaseDecreaseInAdvanceToSuppliers" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_638497262831759936" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="csiq_IncreaseDecreaseInAdvanceToSuppliers_638497262831759936" order="24" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncreaseDecreaseInProjectAssets" xlink:label="csiq_IncreaseDecreaseInProjectAssets_638497262831759936" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="csiq_IncreaseDecreaseInProjectAssets_638497262831759936" order="25" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638497262831759936" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638497262831759936" order="26" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638497262831759936" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638497262831759936" order="27" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638497262831769854" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638497262831769854" order="28" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInNotesPayableCurrent" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent_638497262831769854" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_IncreaseDecreaseInNotesPayableCurrent_638497262831769854" order="29" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638497262831769854" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638497262831769854" order="30" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable_638497262831769854" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_IncreaseDecreaseInOtherAccountsPayable_638497262831769854" order="31" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638497262831779922" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638497262831779922" order="32" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638497262831779922" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638497262831779922" order="33" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638497262831779922" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638497262831779922" order="34" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638497262831779922" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638497262831779922" order="35" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_638497262831789848" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement_638497262831789848" order="36" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262831789848" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262831519911" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262831789848" order="37" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262831789848" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262831789848" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_638497262831799863" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262831789848" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments_638497262831799863" order="1" use="optional" weight="-1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_638497262831799863" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262831789848" xlink:to="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_638497262831799863" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638497262831799863" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262831789848" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638497262831799863" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_638497262831799863" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262831789848" xlink:to="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_638497262831799863" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PaymentsToAcquireSolarPowerSystems" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems_638497262831809952" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262831789848" xlink:to="csiq_PaymentsToAcquireSolarPowerSystems_638497262831809952" order="5" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_638497262831809952" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262831789848" xlink:to="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_638497262831809952" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries" xlink:label="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries_638497262831809952" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262831789848" xlink:to="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries_638497262831809952" order="7" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireEquitySecuritiesFvNi" xlink:label="us-gaap_PaymentsToAcquireEquitySecuritiesFvNi_638497262831809952" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262831789848" xlink:to="us-gaap_PaymentsToAcquireEquitySecuritiesFvNi_638497262831809952" order="8" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePaymentsUse" xlink:label="us-gaap_OperatingLeasePaymentsUse_638497262831819848" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262831789848" xlink:to="us-gaap_OperatingLeasePaymentsUse_638497262831819848" order="9" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638497262831819848" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262831789848" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638497262831819848" order="10" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable_638497262831819848" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" xlink:to="us-gaap_ProceedsFromNotesPayable_638497262831819848" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable_638497262831829822" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" xlink:to="us-gaap_RepaymentsOfNotesPayable_638497262831829822" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" xlink:label="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_638497262831829822" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" xlink:to="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_638497262831829822" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders_638497262831829822" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" xlink:to="us-gaap_PaymentsToMinorityShareholders_638497262831829822" order="4" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_638497262831829822" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_638497262831829822" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_RepaymentsOfFinanceLeaseObligation" xlink:label="csiq_RepaymentsOfFinanceLeaseObligation_638497262831839816" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" xlink:to="csiq_RepaymentsOfFinanceLeaseObligation_638497262831839816" order="6" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt_638497262831839816" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" xlink:to="us-gaap_ProceedsFromConvertibleDebt_638497262831839816" order="7" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProceedsFromPaymentsToMinorityShareHolder" xlink:label="csiq_ProceedsFromPaymentsToMinorityShareHolder_638497262831839816" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" xlink:to="csiq_ProceedsFromPaymentsToMinorityShareHolder_638497262831839816" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividendsMinorityInterest" xlink:label="us-gaap_PaymentsOfDividendsMinorityInterest_638497262831839816" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" xlink:to="us-gaap_PaymentsOfDividendsMinorityInterest_638497262831839816" order="9" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_638497262831849847" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" xlink:to="us-gaap_ProceedsFromMinorityShareholders_638497262831849847" order="10" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SaleLeasebackTransactionProceedsFinancingActivities" xlink:label="csiq_SaleLeasebackTransactionProceedsFinancingActivities_638497262831849847" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" xlink:to="csiq_SaleLeasebackTransactionProceedsFinancingActivities_638497262831849847" order="11" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638497262831849847" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638497262831849847" order="12" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProceedsFromSubsidiaryEquityOfferings" xlink:label="csiq_ProceedsFromSubsidiaryEquityOfferings_638497262831859825" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" xlink:to="csiq_ProceedsFromSubsidiaryEquityOfferings_638497262831859825" order="13" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_638497262831859825" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts_638497262831859825" order="14" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations" xlink:label="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations_638497262831859825" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262831819848" xlink:to="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations_638497262831859825" order="15" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638497262831869644" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638497262831869644" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638497262831869644" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638497262831869644" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638497262831869644" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638497262831869644" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638497262831879863" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638497262831879863" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_638497262831879863" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_638497262831879863" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystems" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystems_638497262831879863" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystems_638497262831879863" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_638497262831879863" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherOperatingIncomeExpenseNet" xlink:to="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_638497262831879863" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638497262831879863" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638497262831879863" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent_638497262831889931" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_638497262831889931" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_638497262831889931" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves_638497262831889931" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_638497262831889931" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_638497262831889931" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_638497262831889931" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_638497262831889931" 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-20231231.xsd#csiq_ProjectAssetsPlantsAndLand" xlink:label="csiq_ProjectAssetsPlantsAndLand" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts_638497262831899697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_ProjectAssetsPlantsAndLand" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts_638497262831899697" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_638497262831899697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_ProjectAssetsPlantsAndLand" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_638497262831899697" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638497262831899697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638497262831899697" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_638497262831899697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638497262831899697" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_638497262831899697" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638497262831899697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638497262831899697" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638497262831899697" order="2" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross_638497262831899697" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_ConstructionInProgressGross_638497262831899697" 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-20231231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_638497262831909814" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_SolarPowerSystems" xlink:to="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_638497262831909814" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarPowerSystemsGross" xlink:label="csiq_SolarPowerSystemsGross_638497262831909814" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_SolarPowerSystems" xlink:to="csiq_SolarPowerSystemsGross_638497262831909814" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="FiniteLivedIntangibleAssetsNet" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_638497262831909814" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_638497262831909814" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638497262831909814" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638497262831909814" 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/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash_638497262831909814" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Cash_638497262831909814" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets_638497262831909814" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherAssets_638497262831909814" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssets" xlink:label="csiq_ProjectAssets_638497262831919855" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="csiq_ProjectAssets_638497262831919855" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_638497262831919855" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LongTermDebt_638497262831919855" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities_638497262831919855" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_OtherLiabilities_638497262831919855" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638497262831919855" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_ShortTermBorrowings_638497262831919855" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_638497262831929893" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_638497262831929893" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense_638497262831929893" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_FinanceLeaseInterestExpense_638497262831929893" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost_638497262831929893" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_OperatingLeaseCost_638497262831929893" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost_638497262831929893" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_ShortTermLeaseCost_638497262831929893" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LandUseRightsNet" xlink:label="csiq_LandUseRightsNet_638497262831929893" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="csiq_LandUseRightsNet_638497262831929893" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights" xlink:label="csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights_638497262831929893" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights_638497262831929893" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638497262831939833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638497262831939833" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638497262831939833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638497262831939833" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638497262831939833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638497262831939833" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638497262831939833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638497262831939833" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638497262831939833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638497262831939833" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638497262831939833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638497262831939833" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638497262831949820" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638497262831949820" order="1" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638497262831949820" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638497262831949820" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_638497262831949820" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_638497262831949820" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638497262831949820" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638497262831949820" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638497262831949820" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638497262831949820" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_638497262831949820" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_638497262831949820" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_638497262831949820" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_638497262831949820" order="6" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_638497262831959842" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_638497262831959842" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability_638497262831959842" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:to="us-gaap_FinanceLeaseLiability_638497262831959842" 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-20231231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_638497262831959842" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_638497262831959842" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityPaymentsDueYearTwo" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo_638497262831959842" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearTwo_638497262831959842" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityPaymentsDueYearThree" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree_638497262831969820" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearThree_638497262831969820" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityPaymentsDueYearFour" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour_638497262831969820" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFour_638497262831969820" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityPaymentsDueYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive_638497262831969820" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFive_638497262831969820" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityPaymentsDueAfterYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive_638497262831969820" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityPaymentsDueAfterYearFive_638497262831969820" 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-20231231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityUndiscountedExcessAmount" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount_638497262831969820" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LesseeLiabilityUndiscountedExcessAmount_638497262831969820" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability_638497262831969820" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LesseeLiabilityPaymentsDue" xlink:to="csiq_LeaseLiability_638497262831969820" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_638497262831979835" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_638497262831979835" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_638497262831979835" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FinanceLeaseLiability" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_638497262831979835" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LeaseLiabilityCurrent" xlink:label="csiq_LeaseLiabilityCurrent_638497262831979835" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeaseLiability" xlink:to="csiq_LeaseLiabilityCurrent_638497262831979835" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LeaseLiabilityNoncurrent" xlink:label="csiq_LeaseLiabilityNoncurrent_638497262831979835" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="csiq_LeaseLiability" xlink:to="csiq_LeaseLiabilityNoncurrent_638497262831979835" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638497262831979835" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638497262831979835" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638497262831979835" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638497262831979835" order="2" use="optional" weight="1" priority="2" />
  </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/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638497262831989838" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638497262831989838" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638497262831989838" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638497262831989838" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638497262831989838" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638497262831989838" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_638497262831989838" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_638497262831989838" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_638497262831989838" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_638497262831989838" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_638497262831999535" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LongTermDebt" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_638497262831999535" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_638497262831999535" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_638497262831999535" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638497262831999535" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638497262831999535" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_638497262831999535" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsNet_638497262831999535" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross_638497262832009856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_638497262831999535" xlink:to="us-gaap_DeferredTaxAssetsGross_638497262832009856" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_638497262832009856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638497262832009856" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_638497262832009856" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_638497262832009856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638497262832009856" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_638497262832009856" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_638497262832009856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638497262832009856" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_638497262832009856" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory_638497262832009856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638497262832009856" xlink:to="us-gaap_DeferredTaxAssetsInventory_638497262832009856" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_638497262832009856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638497262832009856" xlink:to="csiq_DeferredTaxAssetsFutureDeductibleExpenses_638497262832009856" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_638497262832009856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638497262832009856" xlink:to="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_638497262832009856" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638497262832009856" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638497262832009856" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638497262832009856" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638497262832019811" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638497262832009856" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638497262832019811" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_638497262832019811" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638497262832009856" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_638497262832019811" order="9" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DeferredTaxAssetsInterestLimitation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_638497262832019811" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638497262832009856" xlink:to="csiq_DeferredTaxAssetsInterestLimitation_638497262832019811" order="10" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther_638497262832019811" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638497262832009856" xlink:to="us-gaap_DeferredTaxAssetsOther_638497262832019811" order="11" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638497262832019811" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_638497262831999535" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638497262832019811" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_638497262832029853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_638497262832029853" order="2" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives_638497262832029853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638497262832029853" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives_638497262832029853" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638497262832029853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638497262832029853" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638497262832029853" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_638497262832029853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638497262832029853" xlink:to="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_638497262832029853" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_638497262832029853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638497262832029853" xlink:to="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_638497262832029853" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_638497262832029853" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638497262832029853" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_638497262832029853" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638497262832040077" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638497262832040077" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_638497262832040077" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_638497262832040077" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_638497262832040077" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_638497262832040077" order="3" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent_638497262832040077" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent_638497262832040077" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_638497262832040077" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_638497262832040077" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_638497262832040077" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_638497262832040077" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638497262832049843" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638497262832049843" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_638497262832049843" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_638497262832049843" order="8" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails" xlink:type="extended" xlink:title="42602 - Disclosure - NON-CONTROLLING INTERESTS - Effects of changes in Company's ownership interest in less than wholly owned subsidiaries on equity attributable to Canadian Solar Inc (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet_638497262832049843" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet_1" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet_638497262832049843" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638497262832049843" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet_1" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638497262832049843" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xlink:type="extended" xlink:title="42802 - 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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638497262832059923" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity_638497262832059923" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638497262832059923" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_638497262832059923" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="Assets" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638497262832059923" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_AssetsCurrent_638497262832059923" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InvestmentInAffiliates" xlink:label="csiq_InvestmentInAffiliates_638497262832059923" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_InvestmentInAffiliates_638497262832059923" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InvestmentInSubsidiaries" xlink:label="csiq_InvestmentInSubsidiaries_638497262832059923" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="csiq_InvestmentInSubsidiaries_638497262832059923" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638497262832059923" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638497262832059923" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638497262832059923" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_638497262832059923" order="5" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" xlink:type="extended" xlink:title="42806 - 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PaymentsToAcquireAffiliates" xlink:label="csiq_PaymentsToAcquireAffiliates_638497262832069833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="csiq_PaymentsToAcquireAffiliates_638497262832069833" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PaymentsToAcquireSubsidiaries" xlink:label="csiq_PaymentsToAcquireSubsidiaries_638497262832069833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="csiq_PaymentsToAcquireSubsidiaries_638497262832069833" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_638497262832069833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_638497262832069833" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_638497262832069833" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="csiq_PaymentsForProceedsFromLoansToSubsidiaries_638497262832069833" order="4" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638497262832079921" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProfitLoss_638497262832079921" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638497262832079921" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638497262832079921" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense_638497262832079921" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AccretionExpense_638497262832079921" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638497262832079921" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638497262832079921" order="4" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262832079921" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262832079921" order="5" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638497262832079921" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638497262832079921" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_638497262832079921" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_638497262832079921" order="7" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638497262832089828" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation_638497262832089828" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638497262832089828" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638497262832089828" order="9" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638497262832089828" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638497262832089828" order="10" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638497262832089828" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638497262832089828" order="11" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638497262832089828" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638497262832089828" order="12" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638497262832089828" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638497262832089828" order="13" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638497262832099535" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638497262832099535" order="14" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638497262832099535" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638497262832099535" order="15" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_638497262832099535" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_638497262832099535" order="16" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638497262832099535" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638497262832099535" order="17" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638497262832099535" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638497262832099535" order="18" use="optional" weight="-1" />
  </calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>11
<FILENAME>csiq-20231231_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.6.2.5 -->
<!--Based on XBRL 2.1-->
<!--Created on: 4/26/2024 11:04:56 AM-->
<!--Modified on: 4/26/2024 11:04:56 AM-->
<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-20231231.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#StatementConsolidatedStatementsOfChangesInEquity" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#StatementConsolidatedStatementsOfChangesInEquityParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureAllowanceForCreditLossesTables" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureCommitmentsAndContingenciesTables" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureOrganizationAndPrincipalActivitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureAllowanceForCreditLossesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosurePropertyPlantAndEquipmentNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSolarPowerSystemsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIntangibleAssetsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFairValueMeasurementInterestRateSwapDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureVariableInterestEntitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureInvestmentsInAffiliatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseLeaseExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureBorrowingsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureConvertibleNotesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIncomeTaxesReconciliationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureEarningsPerShareDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureRelatedPartyBalancesAndTransactionsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureCommitmentsAndContingenciesCommitmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureCommitmentsAndContingenciesContingenciesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSegmentInformationNarrativeDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSegmentInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSegmentInformationDifferentGeographicLocationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSegmentInformationEachProductOrServiceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureEmployeeBenefitPlansDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureShareBasedCompensationOptionsToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureShareBasedCompensationRsusToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureNonControllingInterestsAdditionalInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails" roleURI="http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSubsequentEventDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.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-20231231.xsd#DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="simple" />
  <roleRef xlink:type="simple" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="1" priority="0" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="1" priority="0" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_1" xlink:title="us-gaap_AssetsAbstract_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_1" xlink:title="us-gaap_PropertyPlantAndEquipmentNet_1" />
    <definitionArc xlink:type="arc" xlink:from="us-gaap_AssetsAbstract_1" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_AssetsAbstract_1 To us-gaap_PropertyPlantAndEquipmentNet_1" order="1" priority="0" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_3" xlink:title="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_3" />
    <definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_3" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_IncomeStatementAbstract To us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_3" order="2" 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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_1" xlink:title="us-gaap_PlanNameAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_1" xlink:title="us-gaap_PlanNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PlanNameAxis_1" xlink:to="us-gaap_PlanNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PlanNameAxis_1 To us-gaap_PlanNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanSponsorLocationAxis" xlink:label="us-gaap_RetirementPlanSponsorLocationAxis_1" xlink:title="us-gaap_RetirementPlanSponsorLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="us-gaap_RetirementPlanSponsorLocationDomain_1" xlink:title="us-gaap_RetirementPlanSponsorLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RetirementPlanSponsorLocationAxis_1" xlink:to="us-gaap_RetirementPlanSponsorLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RetirementPlanSponsorLocationAxis_1 To us-gaap_RetirementPlanSponsorLocationDomain_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/2023/dei-2023.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentPeriodEndDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentTransitionReport" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentShellCompanyReport" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.xsd#dei_ContactPersonnelName" xlink:label="dei_ContactPersonnelName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_ContactPersonnelName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressAddressLine1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCityOrTown" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressCountry" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityAddressPostalZipCode" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_Security12bTitle" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_TradingSymbol" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_SecurityExchangeName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityCommonStockSharesOutstanding" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="27" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_IcfrAuditorAttestationFlag" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="28" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="29" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentAccountingStandard" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="30" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_EntityShellCompany" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="31" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CurrentFiscalYearEndDate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="32" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalYearFocus" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="33" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentFiscalPeriodFocus" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="34" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AmendmentFlag" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName" xlink:label="dei_AuditorName" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="35" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorName" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="36" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorLocation" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="37" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_AuditorFirmId" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="38" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_CityAreaCode" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="39" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_LocalPhoneNumber" priority="1" use="optional" />
  </definitionLink>
  <definitionLink 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_StatementTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyMember" xlink:label="us-gaap_RelatedPartyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_RelatedPartyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonrelatedPartyMember" xlink:label="us-gaap_NonrelatedPartyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_NonrelatedPartyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="us-gaap_StatementLineItems" xlink:to="us-gaap_AssetsAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" />
    <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_RestrictedCashAndCashEquivalentsAtCarryingValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <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_AccountsReceivableNetCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent" />
    <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_UnbilledReceivablesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent" />
    <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_OtherReceivablesNetCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValueAddedTaxReceivableCurrent" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_ValueAddedTaxReceivableCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AdvancesOnInventoryPurchases" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_DerivativeAssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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_AssetsAbstract" xlink:to="csiq_SolarPowerSystems" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
    <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_DeferredIncomeTaxAssetsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AdvancesOnInventoryPurchasesNonCurrent" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_AssetsAbstract" xlink:to="csiq_AdvancesOnInventoryPurchasesNonCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_EquityMethodInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_AssetsAbstract" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent" xlink:label="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" 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/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" 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/2023/elts/us-gaap-2023.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="us-gaap_StatementLineItems" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="us-gaap_AccountsPayableTradeCurrent" />
    <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_AccountsPayableTradeCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="csiq_ShortTermNotesPayable" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableOtherCurrent" xlink:label="us-gaap_AccountsPayableOtherCurrent" />
    <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_AccountsPayableOtherCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
    <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_ContractWithCustomerLiabilityCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans" />
    <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_LongTermNotesAndLoans" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_GreenBondsAndConvertibleDebtNoncurrent" xlink:label="csiq_GreenBondsAndConvertibleDebtNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="csiq_GreenBondsAndConvertibleDebtNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <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_DeferredIncomeTaxLiabilitiesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" />
    <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_AdditionalPaidInCapitalCommonStock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
    <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_RetainedEarningsAccumulatedDeficit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <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_AccumulatedOtherComprehensiveIncomeLossNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <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_StockholdersEquity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest" />
    <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_MinorityInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <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_AdditionalPaidInCapitalMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <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_RetainedEarningsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <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_AccumulatedOtherComprehensiveIncomeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" />
    <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_ParentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
    <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_NoncontrollingInterestMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <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_ProfitLoss" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" />
    <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_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <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_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
    <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_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" />
    <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_StockIssuedDuringPeriodValueNewIssues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
    <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_StockIssuedDuringPeriodSharesNewIssues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" />
    <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_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" />
    <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_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions" />
    <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_MinorityInterestDecreaseFromRedemptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" />
    <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_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan" xlink:label="csiq_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="csiq_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" xlink:label="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" />
    <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_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" />
    <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_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" />
    <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_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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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-20231231.xsd#csiq_CsiSolarCoLtdMember" xlink:label="csiq_CsiSolarCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiSolarCoLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="csiq-20231231.xsd#csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" xlink:label="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts" />
    <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_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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.xsd#csiq_AllowanceForWarrantyInsuranceReceivableMember" xlink:label="csiq_AllowanceForWarrantyInsuranceReceivableMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AllowanceForWarrantyInsuranceReceivableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AllowanceForOtherReceivablesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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_StatementTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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-20231231.xsd#csiq_CsiSolarCoLtdMember" xlink:label="csiq_CsiSolarCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiSolarCoLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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="us-gaap_StatementTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_StatementTable" xlink:to="srt_OwnershipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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-20231231.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" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_OwnershipDomain" xlink:to="csiq_CsiSolarCoLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_StatementTable" xlink:to="srt_CounterpartyNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="5" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarEmployeeIncentivePlan2020Member" xlink:label="csiq_CsiSolarEmployeeIncentivePlan2020Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="csiq_CsiSolarEmployeeIncentivePlan2020Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" />
    <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_MinorityInterestOwnershipPercentageByNoncontrollingOwners" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.xsd#csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" xlink:label="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects" xlink:label="csiq_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects" 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/2023/elts/us-gaap-2023.xsd#us-gaap_GainContingenciesTable" xlink:label="us-gaap_GainContingenciesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelatedIntangibleAssetsMember" xlink:label="us-gaap_CustomerRelatedIntangibleAssetsMember" />
    <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_CustomerRelatedIntangibleAssetsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember" xlink:label="us-gaap_TrademarksMember" />
    <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_TrademarksMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
    <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_DevelopedTechnologyRightsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseRightsMember" xlink:label="us-gaap_UseRightsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_UseRightsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.xsd#csiq_RecurrentEnergySegmentMember" xlink:label="csiq_RecurrentEnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_RecurrentEnergySegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.xsd#csiq_RecurrentEnergySegmentMember" xlink:label="csiq_RecurrentEnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_RecurrentEnergySegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_RevenueGeneratedFromFinanceLease" xlink:label="csiq_RevenueGeneratedFromFinanceLease" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="csiq_RevenueGeneratedFromFinanceLease" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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_StatementTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystems" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystems" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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/2023/elts/us-gaap-2023.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-20231231.xsd#csiq_GovernmentGrantsNonCurrent" xlink:label="csiq_GovernmentGrantsNonCurrent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="us-gaap_ProductWarrantyLiabilityTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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_ProductWarrantyLiabilityTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/srt/2023/elts/srt-2023.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_ProductWarrantyLiabilityTable" xlink:to="srt_ProductOrServiceAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ProductWarrantyLiabilityTable" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_StandardProductWarrantyTerm" xlink:label="csiq_StandardProductWarrantyTerm" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems" xlink:to="csiq_StandardProductWarrantyTerm" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.xsd#csiq_AllowanceForWarrantyInsuranceReceivableMember" xlink:label="csiq_AllowanceForWarrantyInsuranceReceivableMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AllowanceForWarrantyInsuranceReceivableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AllowanceForOtherReceivablesMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember" xlink:label="csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelatedIntangibleAssetsMember" xlink:label="us-gaap_CustomerRelatedIntangibleAssetsMember" />
    <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_CustomerRelatedIntangibleAssetsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember" xlink:label="us-gaap_TrademarksMember" />
    <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_TrademarksMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/DisclosureFairValueMeasurementInterestRateSwapDetails" xlink:type="extended" xlink:title="40901 - 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/2023/elts/us-gaap-2023.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="40902 - 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/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.xsd#csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember" xlink:label="csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_MarangatuHoldingS.aMember" xlink:label="csiq_MarangatuHoldingS.aMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_MarangatuHoldingS.aMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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="3" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_SuzhouFinancialLeasingCo.Ltd.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PanatiHoldingS.a.Member" xlink:label="csiq_PanatiHoldingS.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_PanatiHoldingS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SalgueiroSolarHoldingS.aMember" xlink:label="csiq_SalgueiroSolarHoldingS.aMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_SalgueiroSolarHoldingS.aMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.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="8" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_JaibaSolarHoldingS.a.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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="9" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_FranciscoSaSolarHoldingS.a.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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="10" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_LavraSolarHoldingS.a.Member" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OtherEquityMethodInvesteesMember" xlink:label="csiq_OtherEquityMethodInvesteesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_OtherEquityMethodInvesteesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_ReCrimsonHoldingsLlcMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_JushengSuzhouSolarTechCo.LtdMember" xlink:label="csiq_JushengSuzhouSolarTechCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_JushengSuzhouSolarTechCo.LtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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="csiq-20231231.xsd#csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember" xlink:label="csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member" xlink:label="csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_MarangatuHoldingS.aMember" xlink:label="csiq_MarangatuHoldingS.aMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_MarangatuHoldingS.aMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PanatiHoldingS.a.Member" xlink:label="csiq_PanatiHoldingS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="srt_EquityMethodInvesteeNameDomain" xlink:to="csiq_PanatiHoldingS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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_ScheduleOfEquityMethodInvestmentsTable" xlink:to="dei_LegalEntityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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="csiq-20231231.xsd#csiq_CsiSolarCoLtdMember" xlink:label="csiq_CsiSolarCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiSolarCoLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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="csiq-20231231.xsd#csiq_NumberOfUnitsHeldAsInvestments" xlink:label="csiq_NumberOfUnitsHeldAsInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="csiq_NumberOfUnitsHeldAsInvestments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DecreaseOfNetAssets" xlink:label="csiq_DecreaseOfNetAssets" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" />
    <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_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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="csiq-20231231.xsd#csiq_UnsecuredCreditFacilityMember" xlink:label="csiq_UnsecuredCreditFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="csiq_UnsecuredCreditFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_LineOfCreditMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.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/2023/elts/us-gaap-2023.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="csiq-20231231.xsd#csiq_TermLoanMember" xlink:label="csiq_TermLoanMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="csiq_TermLoanMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SecuredCreditFacilityMember" xlink:label="csiq_SecuredCreditFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="csiq_SecuredCreditFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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="csiq-20231231.xsd#csiq_NonRecourseProjectBondsMember" xlink:label="csiq_NonRecourseProjectBondsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="csiq_FinancingFacilityMember" xlink:to="csiq_NonRecourseProjectBondsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NonRecourseProjectFinanceFacilityMember" xlink:label="csiq_NonRecourseProjectFinanceFacilityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="csiq_FinancingFacilityMember" xlink:to="csiq_NonRecourseProjectFinanceFacilityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_TermLoanFacilityTwoMember" xlink:label="csiq_TermLoanFacilityTwoMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="csiq_TermLoanFacilityTwoMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.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/2023/dei-2023.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/2023/dei-2023.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-20231231.xsd#csiq_RecurrentEnergyLlcMember" xlink:label="csiq_RecurrentEnergyLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="csiq_RecurrentEnergyLlcMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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="2" xlink:from="dei_EntityDomain" xlink:to="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarSpainSociedadLimitadaMember" xlink:label="csiq_CanadianSolarSpainSociedadLimitadaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSpainSociedadLimitadaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" xlink:label="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.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-20231231.xsd#csiq_CanadianSolarNetherlandCooperativeUaMember" xlink:label="csiq_CanadianSolarNetherlandCooperativeUaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarNetherlandCooperativeUaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarTechnologyXiningCoLtdMember" xlink:label="csiq_CsiSolarTechnologyXiningCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiSolarTechnologyXiningCoLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiCellsSuqianCoLtdMember" xlink:label="csiq_CsiCellsSuqianCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiCellsSuqianCoLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarCoLtdMember" xlink:label="csiq_CsiSolarCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiSolarCoLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_BrazilianSubsidiariesMember" xlink:label="csiq_BrazilianSubsidiariesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="dei_EntityDomain" xlink:to="csiq_BrazilianSubsidiariesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiCellsYangzhouCoLtdMember" xlink:label="csiq_CsiCellsYangzhouCoLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="dei_EntityDomain" xlink:to="csiq_CsiCellsYangzhouCoLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_Aurora01GkMember" xlink:label="csiq_Aurora01GkMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="dei_EntityDomain" xlink:to="csiq_Aurora01GkMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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-20231231.xsd#csiq_GreenBondsMember" xlink:label="csiq_GreenBondsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DebtInstrumentNameDomain" xlink:to="csiq_GreenBondsMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtMember" xlink:label="us-gaap_ConvertibleDebtMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LongtermDebtTypeDomain" xlink:to="us-gaap_ConvertibleDebtMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="24" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherBorrowings" xlink:label="us-gaap_OtherBorrowings" />
    <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_OtherBorrowings" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" />
    <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_LongTermDebtWeightedAverageInterestRateOverTime" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="27" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt" />
    <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_LongTermDebt" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.xsd#country_DE" xlink:label="country_DE" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_DE" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_TH" xlink:label="country_TH" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_TH" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_HK" xlink:label="country_HK" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_HK" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_BR" xlink:label="country_BR" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="country_BR" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.xsd#csiq_CanadianSolarEMEAGmbHMember" xlink:label="csiq_CanadianSolarEMEAGmbHMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarEMEAGmbHMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarInternationalLtdMember" xlink:label="csiq_CanadianSolarInternationalLtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarInternationalLtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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="8" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" xlink:label="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" />
    <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_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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <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_IncomeTaxAuthorityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="csiq-20231231.xsd#csiq_DomesticAndStateTaxAuthorityMember" xlink:label="csiq_DomesticAndStateTaxAuthorityMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="csiq_DomesticAndStateTaxAuthorityMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.xsd#csiq_IncomeTaxesTable" xlink:label="csiq_IncomeTaxesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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="csiq-20231231.xsd#csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" />
    <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_EffectiveIncomeTaxRateReconciliationTaxContingencies" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <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_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" />
    <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_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.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/2023/elts/us-gaap-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PreferentialWithholdingTaxRate" xlink:label="csiq_PreferentialWithholdingTaxRate" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="csiq_PreferentialWithholdingTaxRate" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries" xlink:label="csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:to="csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyMember" xlink:label="us-gaap_RelatedPartyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_RelatedPartyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:to="srt_CounterpartyNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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-20231231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="srt_ChiefExecutiveOfficerMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="srt_ChiefExecutiveOfficerMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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="4" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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="5" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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="6" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_FranciscoSaIRenewableEnergyS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_MarangatuHoldingS.aMember" xlink:label="csiq_MarangatuHoldingS.aMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_MarangatuHoldingS.aMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PanatiHoldingS.a.Member" xlink:label="csiq_PanatiHoldingS.a.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_PanatiHoldingS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_ReCrimsonHoldingsLlcMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SalgueiroSolarHoldingS.aMember" xlink:label="csiq_SalgueiroSolarHoldingS.aMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_SalgueiroSolarHoldingS.aMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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="12" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_FranciscoSaSolarHoldingS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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="13" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_LavraSolarHoldingS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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="14" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_JaibaSolarHoldingS.a.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis" />
    <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_LineOfCreditFacilityAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.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="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_ReCrimsonHoldingsLlcMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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-20231231.xsd#csiq_ChineseInvestorMember" xlink:label="csiq_ChineseInvestorMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="dei_EntityDomain" xlink:to="csiq_ChineseInvestorMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianInfrastructureFundMember" xlink:label="csiq_CanadianInfrastructureFundMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="dei_EntityDomain" xlink:to="csiq_CanadianInfrastructureFundMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_BrazilianInvestorMember" xlink:label="csiq_BrazilianInvestorMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="dei_EntityDomain" xlink:to="csiq_BrazilianInvestorMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent" />
    <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_OtherReceivablesNetCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent" xlink:label="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent" />
    <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_OtherReceivableAfterAllowanceForCreditLossNoncurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration" xlink:label="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent" xlink:to="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent" />
    <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_OtherLiabilitiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage" />
    <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_EquityMethodInvestmentOwnershipPercentage" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" />
    <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_MinorityInterestOwnershipPercentageByParent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <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_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_LineOfCredit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PurchaseOfUnitsPercentage" xlink:label="csiq_PurchaseOfUnitsPercentage" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee" xlink:label="us-gaap_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee" />
    <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_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
    <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_Revenues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:label="us-gaap_RelatedPartyTransactionAmountsOfTransaction" />
    <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_RelatedPartyTransactionAmountsOfTransaction" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" 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/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_RelatedPartyTransactionLineItems" xlink:to="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFourthYear" xlink:label="us-gaap_PurchaseObligationDueInFourthYear" />
    <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_PurchaseObligationDueInFourthYear" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFifthYear" xlink:label="us-gaap_PurchaseObligationDueInFifthYear" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:to="us-gaap_PurchaseObligationDueInFifthYear" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligation" xlink:label="us-gaap_PurchaseObligation" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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-20231231.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.xsd#csiq_NinthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_NinthAdministrativeReviewOfSolarOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_NinthAdministrativeReviewOfSolarOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember" xlink:label="csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xlink:label="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EighthAdministrativeReviewOfSolarTwoMember" xlink:label="csiq_EighthAdministrativeReviewOfSolarTwoMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="srt_LitigationCaseTypeDomain" xlink:to="csiq_EighthAdministrativeReviewOfSolarTwoMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NumberOfMonocrystallineSiliconPhotovoltaicCells" xlink:label="csiq_NumberOfMonocrystallineSiliconPhotovoltaicCells" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="csiq_NumberOfMonocrystallineSiliconPhotovoltaicCells" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells" xlink:label="csiq_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="csiq_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_MinimumModuleEfficiency" xlink:label="csiq_MinimumModuleEfficiency" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_LossContingenciesLineItems" xlink:to="csiq_MinimumModuleEfficiency" priority="1" use="optional" />
  </definitionLink>
  <definitionLink 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_StatementTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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-20231231.xsd#csiq_RecurrentEnergySegmentMember" xlink:label="csiq_RecurrentEnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_RecurrentEnergySegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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_StatementLineItems" xlink:to="us-gaap_NumberOfReportableSegments" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InvestmentsInAffiliatesImpairmentCharge" xlink:label="csiq_InvestmentsInAffiliatesImpairmentCharge" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_InvestmentsInAffiliatesImpairmentCharge" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges" />
    <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_AssetImpairmentCharges" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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_StatementLineItems" xlink:to="csiq_ProjectAssetsImpairmentCharge" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.xsd#csiq_RecurrentEnergySegmentMember" xlink:label="csiq_RecurrentEnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_RecurrentEnergySegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.xsd#country_NO" xlink:label="country_NO" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_EuropeMember" xlink:to="country_NO" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_IT" xlink:label="country_IT" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_EuropeMember" xlink:to="country_IT" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_IE" xlink:label="country_IE" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="srt_EuropeMember" xlink:to="country_IE" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_RO" xlink:label="country_RO" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="srt_EuropeMember" xlink:to="country_RO" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_FR" xlink:label="country_FR" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="srt_EuropeMember" xlink:to="country_FR" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CO" xlink:label="country_CO" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="srt_EuropeMember" xlink:to="country_CO" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_AR" xlink:label="country_AR" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="srt_EuropeMember" xlink:to="country_AR" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OtherCountriesEuropeMember" xlink:label="csiq_OtherCountriesEuropeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="srt_EuropeMember" xlink:to="csiq_OtherCountriesEuropeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.xsd#country_PR" xlink:label="country_PR" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="csiq_AmericaMember" xlink:to="country_PR" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_MX" xlink:label="country_MX" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="csiq_AmericaMember" xlink:to="country_MX" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OtherCountriesAmericaMember" xlink:label="csiq_OtherCountriesAmericaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="csiq_AmericaMember" xlink:to="csiq_OtherCountriesAmericaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.xsd#country_PH" xlink:label="country_PH" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_AsiaMember" xlink:to="country_PH" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_VN" xlink:label="country_VN" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_AsiaMember" xlink:to="country_VN" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.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="srt_AsiaMember" xlink:to="country_TH" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_PK" xlink:label="country_PK" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_AsiaMember" xlink:to="country_PK" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_TW" xlink:label="country_TW" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="srt_AsiaMember" xlink:to="country_TW" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_HK" xlink:label="country_HK" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="srt_AsiaMember" xlink:to="country_HK" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OtherCountriesAsiaMember" xlink:label="csiq_OtherCountriesAsiaMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="srt_AsiaMember" xlink:to="csiq_OtherCountriesAsiaMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.xsd#csiq_RecurrentEnergySegmentMember" xlink:label="csiq_RecurrentEnergySegmentMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="csiq_RecurrentEnergySegmentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.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-20231231.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-20231231.xsd#csiq_EpcAndOthersMember" xlink:label="csiq_EpcAndOthersMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_EpcAndOthersMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember" xlink:label="csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_BatteryStorageSolutionsMember" xlink:label="csiq_BatteryStorageSolutionsMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_BatteryStorageSolutionsMember" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember" xlink:label="csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PowerServicesOMAndAssetManagementMember" xlink:label="csiq_PowerServicesOMAndAssetManagementMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_ProductsAndServicesDomain" xlink:to="csiq_PowerServicesOMAndAssetManagementMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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" />
  </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/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanTable" xlink:label="us-gaap_DefinedContributionPlanTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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_DefinedContributionPlanTable" xlink:to="srt_RangeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanSponsorLocationAxis" xlink:label="us-gaap_RetirementPlanSponsorLocationAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_DefinedContributionPlanTable" xlink:to="us-gaap_RetirementPlanSponsorLocationAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="us-gaap_RetirementPlanSponsorLocationDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_RetirementPlanSponsorLocationAxis" xlink:to="us-gaap_RetirementPlanSponsorLocationDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignPlanMember" xlink:label="us-gaap_ForeignPlanMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RetirementPlanSponsorLocationDomain" xlink:to="us-gaap_ForeignPlanMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:label="us-gaap_DefinedContributionPlanDisclosureLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:to="us-gaap_DefinedContributionPlanTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_DefinedContributionPlanDisclosureLineItems" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_DefinedContributionPlanDisclosureLineItems" xlink:to="us-gaap_DefinedContributionPlanCostRecognized" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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_DefinedContributionPlanDisclosureLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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_DefinedContributionPlanDisclosureLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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_DefinedContributionPlanDisclosureLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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_DefinedContributionPlanDisclosureLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.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_DefinedContributionPlanDisclosureLineItems" xlink:to="csiq_DefinedContributionPlanEmployerContributionAmount" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
    <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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
    <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" />
    <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_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/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" />
    <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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" />
    <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" />
    <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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails" xlink:type="extended" xlink:title="42503 - Disclosure - SHARE-BASED COMPENSATION - 2020 CSI Solar Employee Incentive Plan (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <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_PlanNameAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ShareIncentivePlan2006Member" xlink:label="csiq_ShareIncentivePlan2006Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="csiq_ShareIncentivePlan2006Member" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarEmployeeIncentivePlan2020Member" xlink:label="csiq_CsiSolarEmployeeIncentivePlan2020Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PlanNameDomain" xlink:to="csiq_CsiSolarEmployeeIncentivePlan2020Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_OwnershipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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-20231231.xsd#csiq_CsiSolarCo.Ltd.Member" xlink:label="csiq_CsiSolarCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_OwnershipDomain" xlink:to="csiq_CsiSolarCo.Ltd.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="csiq-20231231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract" xlink:label="us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract" />
    <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_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails" xlink:type="extended" xlink:title="42601 - Disclosure - NON-CONTROLLING INTERESTS - Additional Information (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="srt_OwnershipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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-20231231.xsd#csiq_CsiSolarCo.Ltd.Member" xlink:label="csiq_CsiSolarCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_OwnershipDomain" xlink:to="csiq_CsiSolarCo.Ltd.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
    <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_NoncontrollingInterestMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember" />
    <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_ParentMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ParentMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ParentMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails" xlink:type="extended" xlink:title="42602 - Disclosure - NON-CONTROLLING INTERESTS - Effects of changes in Company's ownership interest in less than wholly owned subsidiaries on equity attributable to Canadian Solar Inc (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="srt_OwnershipAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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-20231231.xsd#csiq_CsiSolarCo.Ltd.Member" xlink:label="csiq_CsiSolarCo.Ltd.Member" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_OwnershipDomain" xlink:to="csiq_CsiSolarCo.Ltd.Member" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <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_AdditionalPaidInCapitalMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <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_AccumulatedOtherComprehensiveIncomeMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails" xlink:type="extended" xlink:title="42701 - Disclosure - SUBSEQUENT EVENT (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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" priority="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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="csiq-20231231.xsd#csiq_RecurrentEnergyLlcMember" xlink:label="csiq_RecurrentEnergyLlcMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="csiq_RecurrentEnergyLlcMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
    <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_SubsequentEventTypeAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.xsd#csiq_BlackRockMember" xlink:label="csiq_BlackRockMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain" xlink:to="csiq_BlackRockMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
    <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_StockIssuedDuringPeriodSharesNewIssues" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AmountOfInvestmentCommitmentInExchangeOfVotingRights" xlink:label="csiq_AmountOfInvestmentCommitmentInExchangeOfVotingRights" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_AmountOfInvestmentCommitmentInExchangeOfVotingRights" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NumberOfTranches" xlink:label="csiq_NumberOfTranches" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_NumberOfTranches" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PercentageOfVotingRightsInExchangeOfInvestment" xlink:label="csiq_PercentageOfVotingRightsInExchangeOfInvestment" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="csiq_PercentageOfVotingRightsInExchangeOfInvestment" priority="1" use="optional" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xlink:type="extended" xlink:title="42802 - 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/2023/elts/srt-2023.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyMember" xlink:label="us-gaap_RelatedPartyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_RelatedPartyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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="us-gaap_RelatedPartyMember" xlink:to="srt_SubsidiariesMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonrelatedPartyMember" xlink:label="us-gaap_NonrelatedPartyMember" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_NonrelatedPartyMember" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent" />
    <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_OtherReceivablesNetCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent" />
    <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_DerivativeLiabilitiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent" />
    <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_OtherLiabilitiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
    <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_LiabilitiesCurrent" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" />
    <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_AdditionalPaidInCapitalCommonStock" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
    <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_RetainedEarningsAccumulatedDeficit" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <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_AccumulatedOtherComprehensiveIncomeLossNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <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_StockholdersEquity" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="42803 - 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/2023/elts/srt-2023.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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" />
  </definitionLink>
  <definitionLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xlink:type="extended" xlink:title="42804 - 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/2023/elts/srt-2023.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails" xlink:type="extended" xlink:title="42805 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax" />
    <definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="42806 - 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/2023/elts/srt-2023.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
    <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_NetCashProvidedByUsedInFinancingActivities" priority="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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>12
<FILENAME>csiq-20231231_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.6.2.5 -->
<!--Based on XBRL 2.1-->
<!--Created on: 4/26/2024 11:04:56 AM-->
<!--Modified on: 4/26/2024 11:04:56 AM-->
<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#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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFinStmtErrorCorrectionFlag" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Document Financial Statement Error Correction [Flag]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/dei-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyMember" xlink:label="us-gaap_RelatedPartyMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyMember" xlink:to="us-gaap_RelatedPartyMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related Party [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RelatedPartyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Related party</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonrelatedPartyMember" xlink:label="us-gaap_NonrelatedPartyMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonrelatedPartyMember" xlink:to="us-gaap_NonrelatedPartyMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonrelatedPartyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Nonrelated Party [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NonrelatedPartyMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-related party</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherReceivablesNetCurrent" xlink:to="us-gaap_OtherReceivablesNetCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherReceivablesNetCurrent_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_OtherReceivablesNetCurrent_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_OtherReceivablesNetCurrent_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_OtherReceivablesNetCurrent_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent" xlink:label="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent" xlink:to="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Receivable, after Allowance for Credit Loss, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent_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_OtherReceivableAfterAllowanceForCreditLossNoncurrent_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="csiq-20231231.xsd#csiq_GreenBondsAndConvertibleDebtNoncurrent" xlink:label="csiq_GreenBondsAndConvertibleDebtNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_GreenBondsAndConvertibleDebtNoncurrent" xlink:to="csiq_GreenBondsAndConvertibleDebtNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_GreenBondsAndConvertibleDebtNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to green bonds and convertible debt.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_GreenBondsAndConvertibleDebtNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Green Bonds and Convertible Debt Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_GreenBondsAndConvertibleDebtNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Green bonds and convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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,506,055 and 66,158,741 shares issued and outstanding at December 31, 2022 and 2023, 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 net revenues</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 expenses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 (expenses):</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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, 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/2023/elts/us-gaap-2023.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 (expenses)</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 (loss) on changes in fair value of available-for-sale debt securities, net of tax</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-20231231.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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 interest rate swap of affiliate, net of tax</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 interest rate swap of affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accumulated Other Comprehensive Income</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ParentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity (Deficits) Attribute to Canadian Solar Inc.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NoncontrollingInterestMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non-Controlling Interest</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Stock Issued During Period, Shares, Restricted Stock Award, Gross</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Exercise of RSUs (in shares)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 subsidiary to non-controlling interest</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Sales proceed distribution to non-controlling interests</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Increase in the Company's transfer of equity interest in subsidiary and subsidiary's offering of its equity interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="csiq-20231231.xsd#csiq_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan" xlink:label="csiq_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan" xlink:to="csiq_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of increase in noncontrolling interest from shares of subsidiary under employee incentive plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest, Increase From Subsidiary Shares Under Employee Incentive Plan</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsidiary's shares under employee incentive plan</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 (interest rate swap)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.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/2023/dei-2023.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-20231231.xsd#csiq_CsiSolarCoLtdMember" xlink:label="csiq_CsiSolarCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiSolarCoLtdMember" xlink:to="csiq_CsiSolarCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiSolarCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI Solar Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiSolarCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsiSolarCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" xlink:label="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" xlink:to="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash inflow from the issuance of subsidiary offerings, net of transaction costs.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds From Subsidiary Equity Offerings, Net Of Transaction Costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net of transaction costs</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net proceeds</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Cash payment for transaction costs of subsidiary's offering</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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/terseLabel" xlink:label="us-gaap_AccretionExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Accretion of convertible notes</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 green bonds and convertible notes</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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">Loss on disposal of solar power systems</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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 long-lived assets</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-20231231.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="csiq-20231231.xsd#csiq_InvestmentsInAffiliatesImpairmentCharge" xlink:label="csiq_InvestmentsInAffiliatesImpairmentCharge" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_InvestmentsInAffiliatesImpairmentCharge" xlink:to="csiq_InvestmentsInAffiliatesImpairmentCharge_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_InvestmentsInAffiliatesImpairmentCharge_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the impairment charges and write-off for investments in affiliates.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_InvestmentsInAffiliatesImpairmentCharge_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investments in Affiliates Impairment Charge</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_InvestmentsInAffiliatesImpairmentCharge_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="csiq_InvestmentsInAffiliatesImpairmentCharge_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/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair Value, Asset, Recurring Basis, Still Held, Unrealized Gain (Loss)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain on change in fair value of other financial assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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 from sales to affiliates</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries" xlink:label="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries" xlink:to="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Additional Interest in Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisition of subsidiaries, net of cash</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireEquitySecuritiesFvNi" xlink:label="us-gaap_PaymentsToAcquireEquitySecuritiesFvNi" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireEquitySecuritiesFvNi" xlink:to="us-gaap_PaymentsToAcquireEquitySecuritiesFvNi_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireEquitySecuritiesFvNi_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Equity Securities, FV-NI</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireEquitySecuritiesFvNi_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Investment in equity securities</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments to Acquire Property, Plant, and Equipment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePaymentsUse" xlink:label="us-gaap_OperatingLeasePaymentsUse" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePaymentsUse" xlink:to="us-gaap_OperatingLeasePaymentsUse_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePaymentsUse_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Operating Lease, Payments, Use</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OperatingLeasePaymentsUse_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Acquisition of right-of-use assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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 green bonds</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/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/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividendsMinorityInterest" xlink:label="us-gaap_PaymentsOfDividendsMinorityInterest" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividendsMinorityInterest" xlink:to="us-gaap_PaymentsOfDividendsMinorityInterest_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfDividendsMinorityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Payments of Ordinary Dividends, Noncontrolling Interest</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfDividendsMinorityInterest_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Distribution to non - controlling interests</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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/2023/elts/us-gaap-2023.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-20231231.xsd#csiq_ProceedsFromSubsidiaryEquityOfferings" xlink:label="csiq_ProceedsFromSubsidiaryEquityOfferings" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ProceedsFromSubsidiaryEquityOfferings" xlink:to="csiq_ProceedsFromSubsidiaryEquityOfferings_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ProceedsFromSubsidiaryEquityOfferings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The cash inflow from the subsidiary equity offerings.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ProceedsFromSubsidiaryEquityOfferings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds From Subsidiary Equity Offerings</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ProceedsFromSubsidiaryEquityOfferings_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Proceeds from subsidiary's offering of its equity interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations" xlink:label="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations" xlink:to="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments of Debt and Capital Lease Obligations</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayment of financing liabilities</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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="csiq-20231231.xsd#csiq_RepaymentsOfFinanceLeaseObligation" xlink:label="csiq_RepaymentsOfFinanceLeaseObligation" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_RepaymentsOfFinanceLeaseObligation" xlink:to="csiq_RepaymentsOfFinanceLeaseObligation_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_RepaymentsOfFinanceLeaseObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of cash outflow for principal payment on finance lease.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_RepaymentsOfFinanceLeaseObligation_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Repayments Of Finance Lease Obligation</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_RepaymentsOfFinanceLeaseObligation_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="csiq-20231231.xsd#csiq_ReclassificationFromProjectAssetsToSolarPowerSystems" xlink:label="csiq_ReclassificationFromProjectAssetsToSolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ReclassificationFromProjectAssetsToSolarPowerSystems" xlink:to="csiq_ReclassificationFromProjectAssetsToSolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ReclassificationFromProjectAssetsToSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The value of project assets reclassified to solar power systems under non-cash activity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ReclassificationFromProjectAssetsToSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reclassification From Project Assets To Solar Power Systems</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ReclassificationFromProjectAssetsToSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reclassification from project assets to solar power systems</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ReclassificationFromInventoriesToSolarPowerSystems" xlink:label="csiq_ReclassificationFromInventoriesToSolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ReclassificationFromInventoriesToSolarPowerSystems" xlink:to="csiq_ReclassificationFromInventoriesToSolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ReclassificationFromInventoriesToSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The value of inventories reclassified to solar power systems under non-cash activity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ReclassificationFromInventoriesToSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reclassification From Inventories To Solar Power Systems</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ReclassificationFromInventoriesToSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Reclassification from inventories to solar power systems</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_BorrowingsAssumedByThirdPartiesWithProjectAssetSales" xlink:label="csiq_BorrowingsAssumedByThirdPartiesWithProjectAssetSales" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_BorrowingsAssumedByThirdPartiesWithProjectAssetSales" xlink:to="csiq_BorrowingsAssumedByThirdPartiesWithProjectAssetSales_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_BorrowingsAssumedByThirdPartiesWithProjectAssetSales_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of borrowings assumed by third parties with project asset sales.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_BorrowingsAssumedByThirdPartiesWithProjectAssetSales_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Borrowings Assumed By Third Parties With Project Asset Sales</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_BorrowingsAssumedByThirdPartiesWithProjectAssetSales_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Borrowings assumed by third parties with project asset sales</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="us-gaap_NoncontrollingInterestAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestAbstract" xlink:to="us-gaap_NoncontrollingInterestAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestAbstract_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/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDisclosureTextBlock" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterestDisclosureTextBlock" xlink:to="us-gaap_MinorityInterestDisclosureTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Noncontrolling Interest Disclosure [Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">Reclassifications</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="csiq-20231231.xsd#csiq_AdvancesFromCustomersPolicyTextBlock" xlink:label="csiq_AdvancesFromCustomersPolicyTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AdvancesFromCustomersPolicyTextBlock" xlink:to="csiq_AdvancesFromCustomersPolicyTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AdvancesFromCustomersPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Disclosure of accounting policy for advances from customers.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AdvancesFromCustomersPolicyTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances From Customers [Policy Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AdvancesFromCustomersPolicyTextBlock_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.xsd#csiq_AllowanceForWarrantyInsuranceReceivableMember" xlink:label="csiq_AllowanceForWarrantyInsuranceReceivableMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AllowanceForWarrantyInsuranceReceivableMember" xlink:to="csiq_AllowanceForWarrantyInsuranceReceivableMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AllowanceForWarrantyInsuranceReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Warranty insurance receivable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AllowanceForWarrantyInsuranceReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Allowance For Warranty Insurance Receivable [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AllowanceForWarrantyInsuranceReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Warranty insurance receivable net</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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/2023/elts/us-gaap-2023.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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Summary of Company share-based compensation expense by plan included in consolidated statements of operations</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Table Text Block]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Schedule of effects of changes in Company's ownership interest in less than wholly owned subsidiaries on equity attributable to Canadian Solar Inc</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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">Subsidiaries [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_SubsidiariesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.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="csiq-20231231.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Plan Name [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Plan Name [Domain]</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarEmployeeIncentivePlan2020Member" xlink:label="csiq_CsiSolarEmployeeIncentivePlan2020Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiSolarEmployeeIncentivePlan2020Member" xlink:to="csiq_CsiSolarEmployeeIncentivePlan2020Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiSolarEmployeeIncentivePlan2020Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to 2020 CSI Solar employee incentive plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiSolarEmployeeIncentivePlan2020Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar Employee Incentive Plan, 2020 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsiSolarEmployeeIncentivePlan2020Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2020 CSI Solar employee incentive plan</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">Aggregated value of consideration transferred</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="csiq-20231231.xsd#csiq_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects" xlink:label="csiq_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects" xlink:to="csiq_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the experience in delivering solar power and battery energy storage projects.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Experience Term in Delivering Solar Power and Battery Energy Storage Projects</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Energy storage projects</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">SUMMARY OF PRINCIPAL ACCOUNTING POLICIES</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ElectricGenerationEquipmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power systems in operation</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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/2023/elts/srt-2023.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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelatedIntangibleAssetsMember" xlink:label="us-gaap_CustomerRelatedIntangibleAssetsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelatedIntangibleAssetsMember" xlink:to="us-gaap_CustomerRelatedIntangibleAssetsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerRelatedIntangibleAssetsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer-Related Intangible Assets [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CustomerRelatedIntangibleAssetsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Customer-related intangible assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember" xlink:label="us-gaap_TrademarksMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TrademarksMember" xlink:to="us-gaap_TrademarksMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TrademarksMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Trademarks [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TrademarksMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Trademark</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract with Customer, Liability, Noncurrent</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.xsd#csiq_RecurrentEnergySegmentMember" xlink:label="csiq_RecurrentEnergySegmentMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_RecurrentEnergySegmentMember" xlink:to="csiq_RecurrentEnergySegmentMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_RecurrentEnergySegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the recurrent energy segment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_RecurrentEnergySegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recurrent Energy Segment [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_RecurrentEnergySegmentMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recurrent Energy Segment</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="csiq-20231231.xsd#csiq_RevenueGeneratedFromFinanceLease" xlink:label="csiq_RevenueGeneratedFromFinanceLease" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_RevenueGeneratedFromFinanceLease" xlink:to="csiq_RevenueGeneratedFromFinanceLease_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_RevenueGeneratedFromFinanceLease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue generated from finance lease.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_RevenueGeneratedFromFinanceLease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue Generated from Finance Lease</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_RevenueGeneratedFromFinanceLease_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Revenue generated</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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="csiq-20231231.xsd#csiq_ContractLiabilitiesOtherNonCurrentLiabilities" xlink:label="csiq_ContractLiabilitiesOtherNonCurrentLiabilities" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ContractLiabilitiesOtherNonCurrentLiabilities" xlink:to="csiq_ContractLiabilitiesOtherNonCurrentLiabilities_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ContractLiabilitiesOtherNonCurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of other non-current liabilities relating to contract liabilities.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ContractLiabilitiesOtherNonCurrentLiabilities_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Contract Liabilities, Other Non-current Liabilities</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ContractLiabilitiesOtherNonCurrentLiabilities_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="csiq-20231231.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-20231231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystems" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_GainLossOnDisposalOfSolarPowerSystems" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of gain (loss) on sale or disposal of solar power systems.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain (Loss) on disposal of solar power systems</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net (gain) loss on disposal of solar power system</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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">Weather-related project damages</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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="csiq-20231231.xsd#csiq_StandardProductWarrantyTerm" xlink:label="csiq_StandardProductWarrantyTerm" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_StandardProductWarrantyTerm" xlink:to="csiq_StandardProductWarrantyTerm_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_StandardProductWarrantyTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the term of standard product warranty.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_StandardProductWarrantyTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard Product Warranty Term</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_StandardProductWarrantyTerm_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Standard warranty</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="csiq-20231231.xsd#csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember" xlink:label="csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember" xlink:to="csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Advances to Suppliers, Warranty Insurance Receivable and Other Receivable.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to Suppliers, Warranty Insurance Receivable and Other Receivable [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Advances to suppliers, warranty insurance receivable and other receivable</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2026</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2027</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2028</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesCurrent" xlink:label="us-gaap_MarketableSecuritiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecuritiesCurrent" xlink:to="us-gaap_MarketableSecuritiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MarketableSecuritiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Marketable Securities, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MarketableSecuritiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carried at fair value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesUnrealizedGainLoss" xlink:label="us-gaap_MarketableSecuritiesUnrealizedGainLoss" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketableSecuritiesUnrealizedGainLoss" xlink:to="us-gaap_MarketableSecuritiesUnrealizedGainLoss_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MarketableSecuritiesUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Marketable Security, Unrealized Gain (Loss)</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MarketableSecuritiesUnrealizedGainLoss_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Fair value (gain) losses</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLongTermInvestments" xlink:label="us-gaap_OtherLongTermInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLongTermInvestments" xlink:to="us-gaap_OtherLongTermInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLongTermInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Long-Term Investments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Debt Securities, Available-for-Sale, Current</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Carried at fair value</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Gain of investments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtNoncurrent" xlink:label="us-gaap_ConvertibleDebtNoncurrent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConvertibleDebtNoncurrent" xlink:to="us-gaap_ConvertibleDebtNoncurrent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConvertibleDebtNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible Debt, Noncurrent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ConvertibleDebtNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Convertible debt noncurrent</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.xsd#csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember" xlink:label="csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember" xlink:to="csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Lingang Frontier (Yangzhou) CSI New Energy Investment Fund, LP.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lingang Frontier CSI New Energy Investment Fund, LP [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Lingang Frontier CSI New Energy Investment Fund, LP</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_MarangatuHoldingS.aMember" xlink:label="csiq_MarangatuHoldingS.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_MarangatuHoldingS.aMember" xlink:to="csiq_MarangatuHoldingS.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_MarangatuHoldingS.aMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Marangatu Holding S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MarangatuHoldingS.aMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Marangatu Holding S.A</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_MarangatuHoldingS.aMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Marangatu</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.xsd#csiq_PanatiHoldingS.a.Member" xlink:label="csiq_PanatiHoldingS.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_PanatiHoldingS.a.Member" xlink:to="csiq_PanatiHoldingS.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_PanatiHoldingS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Panati Holding S.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PanatiHoldingS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Panati</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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">Crimson</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.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</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.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</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.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</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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="csiq-20231231.xsd#csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member" xlink:label="csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.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_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member" xlink:to="csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.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_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Salgueiro Solar Holding S.A ("Salgueiro") which holds its Salgueiro project, Francisco Sa Solar Holding S.A ("Francisco") which holds its Francisco project, Jaiba Solar Holding S.A ("Jaiba") which holds its Jaiba project, and Lavras Solar Holding S.A. ("Lavras").</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Salgueiro Solar Holding S.A, Francisco Sa Solar Holding S.A , Jaiba Solar Holding S.A, and Lavras Solar Holding S.A.[Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Salgueiro, Francisco, Jaiba and Larvras</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.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="csiq-20231231.xsd#csiq_NumberOfUnitsHeldAsInvestments" xlink:label="csiq_NumberOfUnitsHeldAsInvestments" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfUnitsHeldAsInvestments" xlink:to="csiq_NumberOfUnitsHeldAsInvestments_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfUnitsHeldAsInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of units held as investments.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfUnitsHeldAsInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Units Held as Investments</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfUnitsHeldAsInvestments_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of units held</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.xsd#csiq_AssetsLesseeAbstract" xlink:label="csiq_AssetsLesseeAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AssetsLesseeAbstract" xlink:to="csiq_AssetsLesseeAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AssetsLesseeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">NA</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AssetsLesseeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets, Lessee [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AssetsLesseeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Assets:</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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 assets</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAsset" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Right-of-Use Asset, after Accumulated Amortization</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance lease assets</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LiabilitiesLesseeAbstract" xlink:label="csiq_LiabilitiesLesseeAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_LiabilitiesLesseeAbstract" xlink:to="csiq_LiabilitiesLesseeAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_LiabilitiesLesseeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">NA</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_LiabilitiesLesseeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities, Lessee [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_LiabilitiesLesseeAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Liabilities:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other finance lease liabilities, 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other finance lease liabilities, 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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2026</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2027</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2028</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2026</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2027</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance Lease, Liability, Payments, Due Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2028</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Finance 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_FinanceLeaseLiabilityPaymentsDueAfterYearFive_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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">2024</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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">2025</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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">2026</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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">2027</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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">2028</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="csiq-20231231.xsd#csiq_UnsecuredCreditFacilityMember" xlink:label="csiq_UnsecuredCreditFacilityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_UnsecuredCreditFacilityMember" xlink:to="csiq_UnsecuredCreditFacilityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_UnsecuredCreditFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to unsecured credit facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_UnsecuredCreditFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unsecured Credit Facility [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_UnsecuredCreditFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Unsecured Credit Facility</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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="csiq-20231231.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/2023/elts/us-gaap-2023.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-20231231.xsd#csiq_SecuredCreditFacilityMember" xlink:label="csiq_SecuredCreditFacilityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SecuredCreditFacilityMember" xlink:to="csiq_SecuredCreditFacilityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SecuredCreditFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to secured credit facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SecuredCreditFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured Credit Facility [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SecuredCreditFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Secured Credit Facility</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.xsd#csiq_NonRecourseProjectBondsMember" xlink:label="csiq_NonRecourseProjectBondsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NonRecourseProjectBondsMember" xlink:to="csiq_NonRecourseProjectBondsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NonRecourseProjectBondsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to non-recourse project bonds.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NonRecourseProjectBondsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non Recourse Project bonds [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NonRecourseProjectBondsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non Recourse Project bonds</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NonRecourseProjectFinanceFacilityMember" xlink:label="csiq_NonRecourseProjectFinanceFacilityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NonRecourseProjectFinanceFacilityMember" xlink:to="csiq_NonRecourseProjectFinanceFacilityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NonRecourseProjectFinanceFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to non-recourse project finance facility.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NonRecourseProjectFinanceFacilityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Non Recourse Project Finance Facility [Member]</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_TermLoanFacilityTwoMember" xlink:label="csiq_TermLoanFacilityTwoMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_TermLoanFacilityTwoMember" xlink:to="csiq_TermLoanFacilityTwoMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_TermLoanFacilityTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to term loan facility two.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_TermLoanFacilityTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Term Loan Facility Two [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_TermLoanFacilityTwoMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Term Loan Facility Two</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.xsd#csiq_RecurrentEnergyLlcMember" xlink:label="csiq_RecurrentEnergyLlcMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_RecurrentEnergyLlcMember" xlink:to="csiq_RecurrentEnergyLlcMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_RecurrentEnergyLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Recurrent Energy, LLC.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_RecurrentEnergyLlcMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recurrent Energy, LLC</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.xsd#csiq_CanadianSolarNetherlandCooperativeUaMember" xlink:label="csiq_CanadianSolarNetherlandCooperativeUaMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CanadianSolarNetherlandCooperativeUaMember" xlink:to="csiq_CanadianSolarNetherlandCooperativeUaMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CanadianSolarNetherlandCooperativeUaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Netherland Cooperative Ua Member</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CanadianSolarNetherlandCooperativeUaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Netherlands Cooperative U.A.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CanadianSolarNetherlandCooperativeUaMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Canadian Solar Netherlands Cooperative U.A.</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarTechnologyXiningCoLtdMember" xlink:label="csiq_CsiSolarTechnologyXiningCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiSolarTechnologyXiningCoLtdMember" xlink:to="csiq_CsiSolarTechnologyXiningCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiSolarTechnologyXiningCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to CSI Solar Technology (Xining) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiSolarTechnologyXiningCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar Technology Xining Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsiSolarTechnologyXiningCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar Technology (Xining) Co., Ltd</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiCellsSuqianCoLtdMember" xlink:label="csiq_CsiCellsSuqianCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiCellsSuqianCoLtdMember" xlink:to="csiq_CsiCellsSuqianCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiCellsSuqianCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to CSI Cells (SuQian) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiCellsSuqianCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Cells (SuQian) Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsiCellsSuqianCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Cells (SuQian) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.xsd#csiq_CsiCellsYangzhouCoLtdMember" xlink:label="csiq_CsiCellsYangzhouCoLtdMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_CsiCellsYangzhouCoLtdMember" xlink:to="csiq_CsiCellsYangzhouCoLtdMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_CsiCellsYangzhouCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to CSI Cells (Yangzhou) Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiCellsYangzhouCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Cells Yangzhou Co Ltd [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsiCellsYangzhouCoLtdMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Cells (Yangzhou) Co., Ltd.</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_Aurora01GkMember" xlink:label="csiq_Aurora01GkMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_Aurora01GkMember" xlink:to="csiq_Aurora01GkMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_Aurora01GkMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Aurora 01 GK.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_Aurora01GkMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Aurora 01 GK [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_Aurora01GkMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Aurora 01 GK</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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-20231231.xsd#csiq_GreenBondsMember" xlink:label="csiq_GreenBondsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_GreenBondsMember" xlink:to="csiq_GreenBondsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_GreenBondsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to green bonds.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_GreenBondsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Green Bonds [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_GreenBondsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Green Bonds</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" 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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LineOfCredit_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount drawn of bank credit facilities granted</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2026</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2027</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2028</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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="csiq-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/country-2023.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/2023/country-2023.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="csiq-20231231.xsd#csiq_DomesticAndStateTaxAuthorityMember" xlink:label="csiq_DomesticAndStateTaxAuthorityMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_DomesticAndStateTaxAuthorityMember" xlink:to="csiq_DomesticAndStateTaxAuthorityMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_DomesticAndStateTaxAuthorityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Designated tax department of country of domicile and state or local government entitled to levy and collect income taxes from the entity.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_DomesticAndStateTaxAuthorityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Domestic and State Tax Authority [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_DomesticAndStateTaxAuthorityMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">U.S. federal and state</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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="csiq-20231231.xsd#csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent_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 applicable to statutory income tax expense (benefit) outside of the country of domicile.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate on Foreign Earnings, Percent</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Effect of cross-border tax (as a percent)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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-20231231.xsd#csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries" xlink:label="csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries" xlink:to="csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount of withholding income tax for undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Withholding Income Tax for Undistributed Earnings of Foreign Subsidiaries</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Withholding Income Tax for Undistributed Earnings of Foreign Subsidiaries</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">RSUs and share options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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 RSUs and share options</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/srt/2023/elts/srt-2023.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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="csiq-20231231.xsd#csiq_BrazilianInvestorMember" xlink:label="csiq_BrazilianInvestorMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_BrazilianInvestorMember" xlink:to="csiq_BrazilianInvestorMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_BrazilianInvestorMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Brazilian investors.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_BrazilianInvestorMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Brazilian Investor [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_BrazilianInvestorMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Brazilian Investor</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration" xlink:label="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration" xlink:to="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other Receivable, after Allowance for Credit Loss, Noncurrent, Related Party, Type [Extensible Enumeration]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee" xlink:label="us-gaap_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee" xlink:to="us-gaap_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity Ownership, Excluding Consolidated Entity and Equity Method Investee, Percentage</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Equity method investee percentage</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:label="us-gaap_RelatedPartyTransactionAmountsOfTransaction" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:to="us-gaap_RelatedPartyTransactionAmountsOfTransaction_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionAmountsOfTransaction_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="us-gaap_RelatedPartyTransactionAmountsOfTransaction_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase commitments</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2023</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2024</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2025</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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">2026</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFourthYear" xlink:label="us-gaap_PurchaseObligationDueInFourthYear" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseObligationDueInFourthYear" xlink:to="us-gaap_PurchaseObligationDueInFourthYear_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseObligationDueInFourthYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Obligation, to be Paid, Year Four</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseObligationDueInFourthYear_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/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFifthYear" xlink:label="us-gaap_PurchaseObligationDueInFifthYear" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PurchaseObligationDueInFifthYear" xlink:to="us-gaap_PurchaseObligationDueInFifthYear_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PurchaseObligationDueInFifthYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Purchase Obligation, to be Paid, Year Five</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PurchaseObligationDueInFifthYear_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2028</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.xsd#csiq_NinthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_NinthAdministrativeReviewOfSolarOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NinthAdministrativeReviewOfSolarOneMember" xlink:to="csiq_NinthAdministrativeReviewOfSolarOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NinthAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Ninth 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_NinthAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ninth Administrative Review of Solar One [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NinthAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Ninth administrative review of Solar 1</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember" xlink:label="csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember" xlink:to="csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Tenth And Eleventh 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_TenthAndEleventhAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tenth And Eleventh Administrative Review Of Solar One [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Tenth And Eleventh Administrative Review Of Solar 1</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/verboseLabel" xlink:label="us-gaap_LossContingenciesLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">COMMITMENTS AND CONTINGENCIES</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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-20231231.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-20231231.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="csiq-20231231.xsd#csiq_NumberOfMonocrystallineSiliconPhotovoltaicCells" xlink:label="csiq_NumberOfMonocrystallineSiliconPhotovoltaicCells" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfMonocrystallineSiliconPhotovoltaicCells" xlink:to="csiq_NumberOfMonocrystallineSiliconPhotovoltaicCells_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfMonocrystallineSiliconPhotovoltaicCells_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of monocrystalline silicon photovoltaic cells.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfMonocrystallineSiliconPhotovoltaicCells_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Monocrystalline Silicon Photovoltaic Cells</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfMonocrystallineSiliconPhotovoltaicCells_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of monocrystalline silicon photovoltaic cells</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells" xlink:label="csiq_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells" xlink:to="csiq_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the number of monocrystalline silicon photovoltaic half-cells.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Monocrystalline Silicon Photovoltaic Half-cells</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of monocrystalline silicon photovoltaic half-cells</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_MinimumModuleEfficiency" xlink:label="csiq_MinimumModuleEfficiency" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_MinimumModuleEfficiency" xlink:to="csiq_MinimumModuleEfficiency_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_MinimumModuleEfficiency_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the minimum module efficiency.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_MinimumModuleEfficiency_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum Module Efficiency</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_MinimumModuleEfficiency_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Minimum module efficiency</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.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/2023/country-2023.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/2023/country-2023.xsd#country_PR" xlink:label="country_PR" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_PR" xlink:to="country_PR_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_PR_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PUERTO RICO</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_PR_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Puerto Rico</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.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-20231231.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/2023/elts/srt-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.xsd#country_PH" xlink:label="country_PH" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_PH" xlink:to="country_PH_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_PH_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">PHILIPPINES</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_PH_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Philippines</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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-20231231.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/2023/elts/srt-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.xsd#country_NO" xlink:label="country_NO" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_NO" xlink:to="country_NO_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_NO_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">NORWAY</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_NO_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Norway</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_IT" xlink:label="country_IT" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_IT" xlink:to="country_IT_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_IT_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">ITALY</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_IT_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Italy</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.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/2023/country-2023.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/2023/country-2023.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/2023/country-2023.xsd#country_CO" xlink:label="country_CO" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CO" xlink:to="country_CO_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CO_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">COLOMBIA</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_CO_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Colombia</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.xsd#csiq_EpcAndOthersMember" xlink:label="csiq_EpcAndOthersMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_EpcAndOthersMember" xlink:to="csiq_EpcAndOthersMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_EpcAndOthersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to EPC and others.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_EpcAndOthersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">EPC and Others</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember" xlink:label="csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember" xlink:to="csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to electricity revenue from operating portfolio and others.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Electricity Revenue From Operating Portfolio and Others</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_BatteryStorageSolutionsMember" xlink:label="csiq_BatteryStorageSolutionsMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_BatteryStorageSolutionsMember" xlink:to="csiq_BatteryStorageSolutionsMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_BatteryStorageSolutionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Battery storage solutions.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_BatteryStorageSolutionsMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Battery storage solutions</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember" xlink:label="csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember" xlink:to="csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to the Solar power and battery energy storage asset sales member.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power and battery energy storage asset sales [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Solar power and battery energy storage asset sales</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PowerServicesOMAndAssetManagementMember" xlink:label="csiq_PowerServicesOMAndAssetManagementMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PowerServicesOMAndAssetManagementMember" xlink:to="csiq_PowerServicesOMAndAssetManagementMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PowerServicesOMAndAssetManagementMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to Power services (O&amp;M) and asset management member.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PowerServicesOMAndAssetManagementMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Power services (O&amp;M) and asset management [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PowerServicesOMAndAssetManagementMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Power services (O&amp;M) and asset management</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanTable" xlink:label="us-gaap_DefinedContributionPlanTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanTable" xlink:to="us-gaap_DefinedContributionPlanTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanSponsorLocationAxis" xlink:label="us-gaap_RetirementPlanSponsorLocationAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanSponsorLocationAxis" xlink:to="us-gaap_RetirementPlanSponsorLocationAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetirementPlanSponsorLocationAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retirement Plan Sponsor Location [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="us-gaap_RetirementPlanSponsorLocationDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetirementPlanSponsorLocationDomain" xlink:to="us-gaap_RetirementPlanSponsorLocationDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetirementPlanSponsorLocationDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Retirement Plan Sponsor Location [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignPlanMember" xlink:label="us-gaap_ForeignPlanMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignPlanMember" xlink:to="us-gaap_ForeignPlanMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignPlanMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Foreign Plan</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:label="us-gaap_DefinedContributionPlanDisclosureLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:to="us-gaap_DefinedContributionPlanDisclosureLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanDisclosureLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan Disclosure [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanDisclosureLineItems_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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan, Employer Matching Contribution, Percent of Match</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Defined Contribution Plan, Employer Matching Contribution, Percent of Match</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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-20231231.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/2023/elts/us-gaap-2023.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/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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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-20231231.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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/2023/elts/us-gaap-2023.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="csiq-20231231.xsd#csiq_ShareIncentivePlan2006Member" xlink:label="csiq_ShareIncentivePlan2006Member" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShareIncentivePlan2006Member" xlink:to="csiq_ShareIncentivePlan2006Member_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShareIncentivePlan2006Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to 2006 share incentive plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShareIncentivePlan2006Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share Incentive Plan, 2006 [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShareIncentivePlan2006Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">2006 Share incentive plan</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarCo.Ltd.Member" xlink:label="csiq_CsiSolarCo.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_CsiSolarCo.Ltd.Member" xlink:to="csiq_CsiSolarCo.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_CsiSolarCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents the information pertaining to CSI Solar Co., Ltd.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_CsiSolarCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar Co., Ltd. [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_CsiSolarCo.Ltd.Member_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">CSI Solar</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Aggregate amount of subscription agreed to equity interest in the partnership under the employee incentive plan.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-Based Compensation Arrangement by Share-Based Payment Award, Maximum Subscription Amount to Equity Interest in Partnership</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Aggregate amount of subscription</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract" xlink:label="us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract" xlink:to="us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Company's share-based compensation expense by plan</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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/terseLabel" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Recognized compensation expense</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Table]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_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/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Changes, Net [Abstract]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Transfers from the non-controlling interests:</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Changes, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Net transfers from non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Change Due to Net Income Attributable to Parent and Effects of Changes, Net</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Change from net income attributable to Canadian Solar Inc. and transfers from non-controlling interests</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_BlackRockMember" xlink:label="csiq_BlackRockMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_BlackRockMember" xlink:to="csiq_BlackRockMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_BlackRockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Represents information pertaining to Black Rock.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_BlackRockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Black Rock [Member]</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_BlackRockMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">BlackRock</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Event Type [Axis]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventTypeDomain_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeDomain_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent Event Type [Domain]</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventMember_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Subsequent event</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AmountOfInvestmentCommitmentInExchangeOfVotingRights" xlink:label="csiq_AmountOfInvestmentCommitmentInExchangeOfVotingRights" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_AmountOfInvestmentCommitmentInExchangeOfVotingRights" xlink:to="csiq_AmountOfInvestmentCommitmentInExchangeOfVotingRights_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_AmountOfInvestmentCommitmentInExchangeOfVotingRights_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The amount of investment committed in exchange of voting rights of the company.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_AmountOfInvestmentCommitmentInExchangeOfVotingRights_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Amount Of Investment Commitment In Exchange of Voting Rights</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_AmountOfInvestmentCommitmentInExchangeOfVotingRights_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Invest amount</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NumberOfTranches" xlink:label="csiq_NumberOfTranches" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_NumberOfTranches" xlink:to="csiq_NumberOfTranches_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_NumberOfTranches_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of tranches.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_NumberOfTranches_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of Tranches</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_NumberOfTranches_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Number of tranches</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PercentageOfVotingRightsInExchangeOfInvestment" xlink:label="csiq_PercentageOfVotingRightsInExchangeOfInvestment" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="csiq_PercentageOfVotingRightsInExchangeOfInvestment" xlink:to="csiq_PercentageOfVotingRightsInExchangeOfInvestment_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="csiq_PercentageOfVotingRightsInExchangeOfInvestment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">The percentage of voting rights obtained in exchange of the investment.</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="csiq_PercentageOfVotingRightsInExchangeOfInvestment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage Of Voting Rights In Exchange Of Investment</label>
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="csiq_PercentageOfVotingRightsInExchangeOfInvestment_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Percentage of voting rights</label>
    <loc xlink:type="locator" xlink:href="csiq-20231231.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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/2023/elts/srt-2023.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-20231231.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-20231231.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="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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="csiq-20231231.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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xmlns="http://www.xbrl.org/2003/linkbase" />
    <labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" xmlns="http://www.xbrl.org/2003/linkbase" />
    <label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">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_OtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Other comprehensive income (loss) (net of tax)</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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-20231231.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-20231231.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">Loans to subsidiaries</label>
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.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-20231231.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-20231231.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/verboseLabel" xlink:label="csiq_ProceedsFromLoansFromSubsidiaries_lbl" xml:lang="en-US" xmlns="http://www.xbrl.org/2003/linkbase">Loans from a subsidiaries</label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>13
<FILENAME>csiq-20231231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.6.2.5 -->
<!--Based on XBRL 2.1-->
<!--Created on: 4/26/2024 11:04:56 AM-->
<!--Modified on: 4/26/2024 11:04:56 AM-->
<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-20231231.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#StatementConsolidatedBalanceSheetsParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#StatementConsolidatedStatementsOfOperations" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#StatementConsolidatedStatementsOfComprehensiveIncome" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#StatementConsolidatedStatementsOfChangesInEquity" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#StatementConsolidatedStatementsOfChangesInEquityParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#StatementConsolidatedStatementsOfCashFlowsParenthetical" roleURI="http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureOrganizationAndPrincipalActivities" roleURI="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPolicies" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureAllowanceForCreditLosses" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLosses" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureInventories" roleURI="http://www.canadiansolar.com/role/DisclosureInventories" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureProjectAssets" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosurePropertyPlantAndEquipmentNet" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSolarPowerSystemsNet" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIntangibleAssetsNet" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFairValueMeasurement" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurement" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureVariableInterestEntities" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntities" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureInvestmentsInAffiliates" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLease" roleURI="http://www.canadiansolar.com/role/DisclosureLease" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureBorrowings" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowings" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureShortTermNotesPayable" roleURI="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureAccruedWarrantyCosts" roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureRestrictedNetAssets" roleURI="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureConvertibleNotes" roleURI="http://www.canadiansolar.com/role/DisclosureConvertibleNotes" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIncomeTaxes" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxes" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureEarningsPerShare" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShare" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureRelatedPartyBalancesAndTransactions" roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureCommitmentsAndContingencies" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSegmentInformation" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureMajorCustomers" roleURI="http://www.canadiansolar.com/role/DisclosureMajorCustomers" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureEmployeeBenefitPlans" roleURI="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureShareBasedCompensation" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensation" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureNonControllingInterests" roleURI="http://www.canadiansolar.com/role/DisclosureNonControllingInterests" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSubsequentEvent" roleURI="http://www.canadiansolar.com/role/DisclosureSubsequentEvent" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureAdditionalInformationFinancialStatementScheduleI" roleURI="http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesPolicies" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesTables" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureAllowanceForCreditLossesTables" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureInventoriesTables" roleURI="http://www.canadiansolar.com/role/DisclosureInventoriesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureProjectAssetsTables" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssetsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosurePropertyPlantAndEquipmentNetTables" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSolarPowerSystemsNetTables" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIntangibleAssetsNetTables" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFairValueMeasurementTables" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureVariableInterestEntitiesTables" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureInvestmentsInAffiliatesTables" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseTables" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureBorrowingsTables" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureAccruedWarrantyCostsTables" roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIncomeTaxesTables" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureEarningsPerShareTables" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureCommitmentsAndContingenciesTables" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSegmentInformationTables" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureShareBasedCompensationTables" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureNonControllingInterestsTables" roleURI="http://www.canadiansolar.com/role/DisclosureNonControllingInterestsTables" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureOrganizationAndPrincipalActivitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAdvancesFromCustomersAndAssetRetirementObligationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAdvancesFromCustomersAndAssetRetirementObligationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureAllowanceForCreditLossesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureInventoriesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInventoriesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureProjectAssetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosurePropertyPlantAndEquipmentNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSolarPowerSystemsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIntangibleAssetsNetDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFairValueMeasurementInterestRateSwapDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFairValueMeasurementMarketableSecuritiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFairValueMeasurementCarryingValueDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureVariableInterestEntitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureInvestmentsInAffiliatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseLeaseExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseSupplementBalanceSheetInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseCashFlowDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseAdditionalInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseOperatingLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseOperatingLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseFinanceLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseFinanceLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseTotalLeasesMaturitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseTotalLeasesGrossDifferenceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureLeaseTotalLeasesSummaryDetails" roleURI="http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureBorrowingsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureBorrowingsLongTermDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" roleURI="http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureShortTermNotesPayableDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureAccruedWarrantyCostsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureRestrictedNetAssetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureConvertibleNotesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIncomeTaxesReconciliationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureEarningsPerShareDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureRelatedPartyBalancesAndTransactionsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureCommitmentsAndContingenciesCommitmentsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureCommitmentsAndContingenciesContingenciesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSegmentInformationNarrativeDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSegmentInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSegmentInformationDifferentGeographicLocationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSegmentInformationEachProductOrServiceDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureMajorCustomersDetails" roleURI="http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureEmployeeBenefitPlansDetails" roleURI="http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureShareBasedCompensationOptionsToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureShareBasedCompensationRsusToEmployeesDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails" roleURI="http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureNonControllingInterestsAdditionalInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails" roleURI="http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureSubsequentEventDetails" roleURI="http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFinancialStatementScheduleIDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails" xmlns="http://www.xbrl.org/2003/linkbase" />
  <roleRef xlink:type="simple" xlink:href="csiq-20231231.xsd#DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" roleURI="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails" 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/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract_637225720287389721" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable_638497262835129497" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract_637225720287389721" xlink:to="dei_DocumentInformationTable_638497262835129497" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressesAddressTypeAxis" xlink:label="dei_EntityAddressesAddressTypeAxis_638497262835139493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable_638497262835129497" xlink:to="dei_EntityAddressesAddressTypeAxis_638497262835139493" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AddressTypeDomain" xlink:label="dei_AddressTypeDomain_638497262835139493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityAddressesAddressTypeAxis_638497262835139493" xlink:to="dei_AddressTypeDomain_638497262835139493" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_BusinessContactMember" xlink:label="dei_BusinessContactMember_638497262835139493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_AddressTypeDomain_638497262835139493" xlink:to="dei_BusinessContactMember_638497262835139493" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems_638497262835139493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationTable_638497262835129497" xlink:to="dei_DocumentInformationLineItems_638497262835139493" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey_638497262835139493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityCentralIndexKey_638497262835139493" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType_638497262835139493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_DocumentType_638497262835139493" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement_638497262835139493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_DocumentRegistrationStatement_638497262835139493" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport_638497262835139493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_DocumentAnnualReport_638497262835139493" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate_638497262835139493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_DocumentPeriodEndDate_638497262835139493" order="5" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport_638497262835149477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_DocumentTransitionReport_638497262835149477" order="6" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport_638497262835149477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_DocumentShellCompanyReport_638497262835149477" order="7" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber_638497262835149477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityFileNumber_638497262835149477" order="8" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName_638497262835149477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityRegistrantName_638497262835149477" order="9" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode_638497262835149477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityIncorporationStateCountryCode_638497262835149477" order="10" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_ContactPersonnelName" xlink:label="dei_ContactPersonnelName_638497262835149477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_ContactPersonnelName_638497262835149477" order="11" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1_638497262835149477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityAddressAddressLine1_638497262835149477" 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/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown_638497262835159469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityAddressCityOrTown_638497262835159469" 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/2023/dei-2023.xsd#dei_EntityAddressCountry" xlink:label="dei_EntityAddressCountry_638497262835159469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityAddressCountry_638497262835159469" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode_638497262835159469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityAddressPostalZipCode_638497262835159469" order="15" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle_638497262835159469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_Security12bTitle_638497262835159469" order="16" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol_638497262835159469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_TradingSymbol_638497262835159469" order="17" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName_638497262835159469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_SecurityExchangeName_638497262835159469" order="18" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding_638497262835159469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityCommonStockSharesOutstanding_638497262835159469" order="19" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer_638497262835169469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityWellKnownSeasonedIssuer_638497262835169469" order="20" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers_638497262835169469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityVoluntaryFilers_638497262835169469" order="21" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus_638497262835169469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityCurrentReportingStatus_638497262835169469" order="22" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent_638497262835169469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityInteractiveDataCurrent_638497262835169469" order="23" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory_638497262835169469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityFilerCategory_638497262835169469" order="24" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany_638497262835169469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityEmergingGrowthCompany_638497262835169469" order="25" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag_638497262835179467" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_IcfrAuditorAttestationFlag_638497262835179467" order="26" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_638497262835179467" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag_638497262835179467" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard_638497262835179467" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_DocumentAccountingStandard_638497262835179467" order="28" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany_638497262835179467" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_EntityShellCompany_638497262835179467" order="29" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate_638497262835179467" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_CurrentFiscalYearEndDate_638497262835179467" order="30" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus_638497262835179467" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_DocumentFiscalYearFocus_638497262835179467" order="31" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus_638497262835189465" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_DocumentFiscalPeriodFocus_638497262835189465" order="32" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag_638497262835189465" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_AmendmentFlag_638497262835189465" order="33" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName" xlink:label="dei_AuditorName_638497262835189465" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_AuditorName_638497262835189465" 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/2023/dei-2023.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation_638497262835189465" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_AuditorLocation_638497262835189465" order="35" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId_638497262835199481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_AuditorFirmId_638497262835199481" order="36" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode_638497262835199481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_CityAreaCode_638497262835199481" order="37" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber_638497262835199481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_DocumentInformationLineItems_638497262835139493" xlink:to="dei_LocalPhoneNumber_638497262835199481" order="38" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638497262835199481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementTable_638497262835199481" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638497262835209486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262835199481" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638497262835209486" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_638497262835209486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638497262835209486" xlink:to="us-gaap_RelatedPartyDomain_638497262835209486" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyMember" xlink:label="us-gaap_RelatedPartyMember_638497262835209486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638497262835209486" xlink:to="us-gaap_RelatedPartyMember_638497262835209486" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonrelatedPartyMember" xlink:label="us-gaap_NonrelatedPartyMember_638497262835209486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638497262835209486" xlink:to="us-gaap_NonrelatedPartyMember_638497262835209486" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638497262835209486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262835199481" xlink:to="us-gaap_StatementLineItems_638497262835209486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_638497262835209486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262835209486" xlink:to="us-gaap_AssetsAbstract_638497262835209486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_638497262835209486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262835209486" xlink:to="us-gaap_AssetsCurrentAbstract_638497262835209486" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638497262835209486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262835209486" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638497262835209486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638497262835209486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262835209486" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638497262835209486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638497262835219473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262835209486" xlink:to="us-gaap_AccountsReceivableNetCurrent_638497262835219473" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent_638497262835219473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262835209486" xlink:to="us-gaap_UnbilledReceivablesCurrent_638497262835219473" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent_638497262835219473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262835209486" xlink:to="us-gaap_OtherReceivablesNetCurrent_638497262835219473" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_638497262835219473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262835209486" xlink:to="us-gaap_InventoryNet_638497262835219473" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValueAddedTaxReceivableCurrent" xlink:label="us-gaap_ValueAddedTaxReceivableCurrent_638497262835219473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262835209486" xlink:to="us-gaap_ValueAddedTaxReceivableCurrent_638497262835219473" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases_638497262835219473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262835209486" xlink:to="us-gaap_AdvancesOnInventoryPurchases_638497262835219473" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent_638497262835219473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262835209486" xlink:to="us-gaap_DerivativeAssetsCurrent_638497262835219473" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638497262835219473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262835209486" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638497262835219473" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638497262835219473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262835209486" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638497262835219473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638497262835229470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262835209486" xlink:to="us-gaap_AssetsCurrent_638497262835229470" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638497262835229470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262835209486" xlink:to="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638497262835229470" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638497262835229470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262835209486" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638497262835229470" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems_638497262835229470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262835209486" xlink:to="csiq_SolarPowerSystems_638497262835229470" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638497262835229470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262835209486" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638497262835229470" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AdvancesOnInventoryPurchasesNonCurrent" xlink:label="csiq_AdvancesOnInventoryPurchasesNonCurrent_638497262835229470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262835209486" xlink:to="csiq_AdvancesOnInventoryPurchasesNonCurrent_638497262835229470" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_638497262835239484" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262835209486" xlink:to="us-gaap_EquityMethodInvestments_638497262835239484" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638497262835239484" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262835209486" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638497262835239484" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638497262835239484" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262835209486" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638497262835239484" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638497262835239484" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262835209486" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638497262835239484" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent" xlink:label="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent_638497262835239484" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262835209486" xlink:to="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent_638497262835239484" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638497262835239484" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262835209486" xlink:to="us-gaap_OtherAssetsNoncurrent_638497262835239484" 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/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638497262835249472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262835209486" xlink:to="us-gaap_Assets_638497262835249472" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262835249472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262835209486" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262835249472" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_638497262835249472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262835249472" xlink:to="us-gaap_LiabilitiesCurrentAbstract_638497262835249472" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638497262835249472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638497262835249472" xlink:to="us-gaap_ShortTermBorrowings_638497262835249472" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableTradeCurrent" xlink:label="us-gaap_AccountsPayableTradeCurrent_638497262835249472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638497262835249472" xlink:to="us-gaap_AccountsPayableTradeCurrent_638497262835249472" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable_638497262835249472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638497262835249472" xlink:to="csiq_ShortTermNotesPayable_638497262835249472" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableOtherCurrent" xlink:label="us-gaap_AccountsPayableOtherCurrent_638497262835259472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638497262835249472" xlink:to="us-gaap_AccountsPayableOtherCurrent_638497262835259472" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638497262835259472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638497262835249472" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638497262835259472" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_638497262835259472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638497262835249472" xlink:to="us-gaap_DerivativeLiabilitiesCurrent_638497262835259472" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638497262835259472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638497262835249472" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638497262835259472" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent_638497262835259472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638497262835249472" xlink:to="us-gaap_OtherLiabilitiesCurrent_638497262835259472" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638497262835269468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638497262835249472" xlink:to="us-gaap_LiabilitiesCurrent_638497262835269468" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638497262835269468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262835249472" xlink:to="us-gaap_LongTermNotesAndLoans_638497262835269468" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_GreenBondsAndConvertibleDebtNoncurrent" xlink:label="csiq_GreenBondsAndConvertibleDebtNoncurrent_638497262835269468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262835249472" xlink:to="csiq_GreenBondsAndConvertibleDebtNoncurrent_638497262835269468" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638497262835269468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262835249472" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638497262835269468" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638497262835269468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262835249472" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638497262835269468" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638497262835279471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262835249472" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638497262835279471" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="us-gaap_OtherLiabilitiesNoncurrent_638497262835279471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262835249472" xlink:to="us-gaap_OtherLiabilitiesNoncurrent_638497262835279471" 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/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638497262835279471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262835249472" xlink:to="us-gaap_Liabilities_638497262835279471" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies_638497262835279471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262835249472" xlink:to="us-gaap_CommitmentsAndContingencies_638497262835279471" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262835289471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262835249472" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262835289471" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638497262835289471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262835289471" xlink:to="us-gaap_CommonStockValue_638497262835289471" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_638497262835289471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262835289471" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_638497262835289471" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638497262835289471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262835289471" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638497262835289471" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638497262835289471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262835289471" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638497262835289471" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638497262835299471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262835289471" xlink:to="us-gaap_StockholdersEquity_638497262835299471" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterest" xlink:label="us-gaap_MinorityInterest_638497262835299471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262835289471" xlink:to="us-gaap_MinorityInterest_638497262835299471" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638497262835299471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262835289471" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638497262835299471" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_638497262835299471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262835249472" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_638497262835299471" order="11" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_636916112133615750" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638497262835309468" />
    <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_638497262835309468" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638497262835309468" />
    <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_638497262835309468" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638497262835309468" />
    <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_638497262835309468" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_638497262835309468" />
    <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_638497262835309468" order="4" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="IncomeStatementAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262835319480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262835319480" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638497262835319480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638497262835319480" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638497262835319480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_GrossProfit_638497262835319480" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract_638497262835319480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_638497262835319480" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense_638497262835319480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638497262835319480" xlink:to="us-gaap_SellingAndMarketingExpense_638497262835319480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_638497262835319480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638497262835319480" xlink:to="us-gaap_GeneralAndAdministrativeExpense_638497262835319480" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_638497262835319480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638497262835319480" xlink:to="us-gaap_ResearchAndDevelopmentExpense_638497262835319480" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_638497262835319480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638497262835319480" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_638497262835319480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses_638497262835319480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638497262835319480" xlink:to="us-gaap_OperatingExpenses_638497262835319480" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638497262835319480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_OperatingIncomeLoss_638497262835319480" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_638497262835329469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_638497262835329469" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638497262835329469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638497262835329469" xlink:to="us-gaap_InterestExpense_638497262835329469" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest_638497262835329469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638497262835329469" xlink:to="us-gaap_InvestmentIncomeInterest_638497262835329469" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262835329469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638497262835329469" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262835329469" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638497262835329469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638497262835329469" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638497262835329469" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments_638497262835329469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638497262835329469" xlink:to="us-gaap_GainLossOnInvestments_638497262835329469" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638497262835329469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638497262835329469" xlink:to="us-gaap_NonoperatingIncomeExpense_638497262835329469" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638497262835329469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638497262835329469" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638497262835339479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638497262835339479" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638497262835339479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638497262835339479" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638497262835339479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_ProfitLoss_638497262835339479" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638497262835339479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638497262835339479" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638497262835339479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638497262835339479" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638497262835339479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareBasic_638497262835339479" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638497262835349754" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638497262835349754" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_638497262835349754" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareDiluted_638497262835349754" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638497262835349754" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638497262835349754" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="StatementOfIncomeAndComprehensiveIncomeAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638497262835349754" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ProfitLoss_638497262835349754" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638497262835349754" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638497262835349754" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638497262835359480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638497262835349754" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638497262835359480" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_638497262835359480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638497262835349754" xlink:to="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_638497262835359480" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax" xlink:label="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_638497262835359480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638497262835349754" xlink:to="csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax_638497262835359480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_638497262835359480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638497262835349754" xlink:to="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_638497262835359480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638497262835359480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract_638497262835349754" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638497262835359480" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638497262835359480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638497262835359480" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_638497262835359480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_638497262835359480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="StatementOfStockholdersEquityAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638497262835369481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable_638497262835369481" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638497262835369481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262835369481" xlink:to="us-gaap_StatementEquityComponentsAxis_638497262835369481" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_638497262835369481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638497262835369481" xlink:to="us-gaap_CommonStockMember_638497262835369481" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_638497262835369481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638497262835369481" xlink:to="us-gaap_AdditionalPaidInCapitalMember_638497262835369481" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember_638497262835369481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638497262835369481" xlink:to="us-gaap_RetainedEarningsMember_638497262835369481" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638497262835369481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638497262835369481" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638497262835369481" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember_638497262835369481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638497262835369481" xlink:to="us-gaap_ParentMember_638497262835369481" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember_638497262835369481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638497262835369481" xlink:to="us-gaap_NoncontrollingInterestMember_638497262835369481" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638497262835369481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638497262835369481" xlink:to="us-gaap_EquityComponentDomain_638497262835369481" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638497262835379475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262835369481" xlink:to="us-gaap_StatementLineItems_638497262835379475" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262835379475" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638497262835379475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638497262835379475" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638497262835379475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_CommonStockSharesIssued_638497262835379475" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638497262835379475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_ProfitLoss_638497262835379475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638497262835379475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_638497262835379475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638497262835379475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638497262835379475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_638497262835389468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_638497262835389468" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_638497262835389468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_638497262835389468" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638497262835389468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638497262835389468" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_638497262835389468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance_638497262835389468" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_638497262835389468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_638497262835389468" order="10" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromRedemptions" xlink:label="us-gaap_MinorityInterestDecreaseFromRedemptions_638497262835389468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_MinorityInterestDecreaseFromRedemptions_638497262835389468" order="11" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest" xlink:label="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_638497262835389468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest_638497262835389468" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan" xlink:label="csiq_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan_638497262835389468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="csiq_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan_638497262835389468" 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/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee" xlink:label="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee_638497262835399468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee_638497262835399468" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_638497262835399468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax_638497262835399468" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_638497262835399468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax_638497262835399468" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_638497262835399468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax_638497262835399468" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638497262835399468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_638497262835399468" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638497262835399468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_638497262835379475" xlink:to="us-gaap_CommonStockSharesIssued_638497262835399468" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638497262835409468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable_638497262835409468" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638497262835409468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262835409468" xlink:to="dei_LegalEntityAxis_638497262835409468" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638497262835409468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638497262835409468" xlink:to="dei_EntityDomain_638497262835409468" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarCoLtdMember" xlink:label="csiq_CsiSolarCoLtdMember_638497262835409468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262835409468" xlink:to="csiq_CsiSolarCoLtdMember_638497262835409468" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638497262835409468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262835409468" xlink:to="us-gaap_StatementEquityComponentsAxis_638497262835409468" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638497262835409468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638497262835409468" xlink:to="us-gaap_EquityComponentDomain_638497262835409468" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_638497262835409468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638497262835409468" xlink:to="us-gaap_CommonStockMember_638497262835409468" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638497262835419476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262835409468" xlink:to="us-gaap_StatementLineItems_638497262835419476" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_638497262835419476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262835419476" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_638497262835419476" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638497262835419476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262835419476" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638497262835419476" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" xlink:label="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts_638497262835419476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262835419476" xlink:to="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts_638497262835419476" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_638497262835419476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262835419476" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts_638497262835419476" order="4" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="StatementOfCashFlowsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638497262835419476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_ProfitLoss_638497262835419476" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638497262835429477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638497262835429477" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense_638497262835429477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_AccretionExpense_638497262835429477" 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/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638497262835429477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638497262835429477" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638497262835429477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments_638497262835429477" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638497262835429477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638497262835429477" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_638497262835429477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_AssetImpairmentCharges_638497262835429477" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_638497262835429477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="csiq_ProjectAssetsImpairmentCharge_638497262835429477" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InvestmentsInAffiliatesImpairmentCharge" xlink:label="csiq_InvestmentsInAffiliatesImpairmentCharge_638497262835429477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="csiq_InvestmentsInAffiliatesImpairmentCharge_638497262835429477" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262835429477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262835429477" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262835439866" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262835439866" order="10" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638497262835439866" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638497262835439866" order="11" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638497262835439866" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638497262835439866" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NonCashOperatingLeaseExpenses" xlink:label="csiq_NonCashOperatingLeaseExpenses_638497262835439866" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="csiq_NonCashOperatingLeaseExpenses_638497262835439866" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown_638497262835439866" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_InventoryWriteDown_638497262835439866" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638497262835439866" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_ShareBasedCompensation_638497262835439866" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_UnrealizedGainLossFromSalesToInvestees" xlink:label="csiq_UnrealizedGainLossFromSalesToInvestees_638497262835439866" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="csiq_UnrealizedGainLossFromSalesToInvestees_638497262835439866" order="16" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638497262835449480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638497262835449480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638497262835449480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638497262835449480" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638497262835449480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_638497262835449480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638497262835449480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638497262835449480" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories_638497262835449480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="us-gaap_IncreaseDecreaseInInventories_638497262835449480" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncreaseDecreaseInValueAddedTaxReceivable" xlink:label="csiq_IncreaseDecreaseInValueAddedTaxReceivable_638497262835449480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="csiq_IncreaseDecreaseInValueAddedTaxReceivable_638497262835449480" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncreaseDecreaseInAdvanceToSuppliers" xlink:label="csiq_IncreaseDecreaseInAdvanceToSuppliers_638497262835449480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="csiq_IncreaseDecreaseInAdvanceToSuppliers_638497262835449480" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncreaseDecreaseInProjectAssets" xlink:label="csiq_IncreaseDecreaseInProjectAssets_638497262835459471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="csiq_IncreaseDecreaseInProjectAssets_638497262835459471" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638497262835459471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638497262835459471" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638497262835459471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638497262835459471" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638497262835459471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638497262835459471" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInNotesPayableCurrent" xlink:label="us-gaap_IncreaseDecreaseInNotesPayableCurrent_638497262835459471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="us-gaap_IncreaseDecreaseInNotesPayableCurrent_638497262835459471" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638497262835459471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638497262835459471" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayable_638497262835459471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="us-gaap_IncreaseDecreaseInOtherAccountsPayable_638497262835459471" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638497262835469466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_638497262835469466" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_638497262835469466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_638497262835469466" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638497262835469466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingLiabilities_638497262835469466" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638497262835469466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638497262835469466" 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/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638497262835469466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638497262835469466" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherOperatingActivitiesCashFlowStatement" xlink:label="us-gaap_OtherOperatingActivitiesCashFlowStatement_638497262835469466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262835449480" xlink:to="us-gaap_OtherOperatingActivitiesCashFlowStatement_638497262835469466" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262835479466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638497262835419476" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262835479466" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262835479466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262835479466" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:label="us-gaap_PaymentsToAcquireEquityMethodInvestments_638497262835479466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262835479466" xlink:to="us-gaap_PaymentsToAcquireEquityMethodInvestments_638497262835479466" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries" xlink:label="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries_638497262835479466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262835479466" xlink:to="us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries_638497262835479466" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireEquitySecuritiesFvNi" xlink:label="us-gaap_PaymentsToAcquireEquitySecuritiesFvNi_638497262835479466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262835479466" xlink:to="us-gaap_PaymentsToAcquireEquitySecuritiesFvNi_638497262835479466" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital" xlink:label="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_638497262835489463" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262835479466" xlink:to="us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital_638497262835489463" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:label="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_638497262835489463" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262835479466" xlink:to="us-gaap_ProceedsFromSaleOfEquityMethodInvestments_638497262835489463" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638497262835489463" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262835479466" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638497262835489463" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePaymentsUse" xlink:label="us-gaap_OperatingLeasePaymentsUse_638497262835489463" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262835479466" xlink:to="us-gaap_OperatingLeasePaymentsUse_638497262835489463" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638497262835489463" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262835479466" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_638497262835489463" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PaymentsToAcquireSolarPowerSystems" xlink:label="csiq_PaymentsToAcquireSolarPowerSystems_638497262835499465" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262835479466" xlink:to="csiq_PaymentsToAcquireSolarPowerSystems_638497262835499465" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems" xlink:label="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_638497262835499465" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262835479466" xlink:to="csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems_638497262835499465" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262835499465" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262835479466" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262835499465" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromNotesPayable" xlink:label="us-gaap_ProceedsFromNotesPayable_638497262835499465" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="us-gaap_ProceedsFromNotesPayable_638497262835499465" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfNotesPayable" xlink:label="us-gaap_RepaymentsOfNotesPayable_638497262835509466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="us-gaap_RepaymentsOfNotesPayable_638497262835509466" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt" xlink:label="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_638497262835509466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt_638497262835509466" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromConvertibleDebt" xlink:label="us-gaap_ProceedsFromConvertibleDebt_638497262835509466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="us-gaap_ProceedsFromConvertibleDebt_638497262835509466" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToMinorityShareholders" xlink:label="us-gaap_PaymentsToMinorityShareholders_638497262835509466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="us-gaap_PaymentsToMinorityShareholders_638497262835509466" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_638497262835519482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="us-gaap_ProceedsFromMinorityShareholders_638497262835519482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfDividendsMinorityInterest" xlink:label="us-gaap_PaymentsOfDividendsMinorityInterest_638497262835519482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="us-gaap_PaymentsOfDividendsMinorityInterest_638497262835519482" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProceedsFromPaymentsToMinorityShareHolder" xlink:label="csiq_ProceedsFromPaymentsToMinorityShareHolder_638497262835519482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="csiq_ProceedsFromPaymentsToMinorityShareHolder_638497262835519482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_638497262835519482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_638497262835519482" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProceedsFromSubsidiaryEquityOfferings" xlink:label="csiq_ProceedsFromSubsidiaryEquityOfferings_638497262835529468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="csiq_ProceedsFromSubsidiaryEquityOfferings_638497262835529468" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsOfStockIssuanceCosts" xlink:label="us-gaap_PaymentsOfStockIssuanceCosts_638497262835529468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="us-gaap_PaymentsOfStockIssuanceCosts_638497262835529468" order="11" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations" xlink:label="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations_638497262835529468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations_638497262835529468" order="12" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SaleLeasebackTransactionProceedsFinancingActivities" xlink:label="csiq_SaleLeasebackTransactionProceedsFinancingActivities_638497262835539466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="csiq_SaleLeasebackTransactionProceedsFinancingActivities_638497262835539466" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_RepaymentsOfFinanceLeaseObligation" xlink:label="csiq_RepaymentsOfFinanceLeaseObligation_638497262835539466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="csiq_RepaymentsOfFinanceLeaseObligation_638497262835539466" order="14" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638497262835539466" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638497262835539466" order="15" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262835549481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262835499465" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262835549481" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638497262835549481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638497262835549481" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638497262835549481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638497262835549481" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638497262835549481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638497262835549481" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6384972628355494811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6384972628355494811" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_638497262835559468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_638497262835559468" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet_638497262835559468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638497262835559468" xlink:to="us-gaap_InterestPaidNet_638497262835559468" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet_638497262835559468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638497262835559468" xlink:to="us-gaap_IncomeTaxesPaidNet_638497262835559468" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638497262835559468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638497262835559468" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638497262835559468" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ReclassificationFromProjectAssetsToSolarPowerSystems" xlink:label="csiq_ReclassificationFromProjectAssetsToSolarPowerSystems_638497262835569472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638497262835559468" xlink:to="csiq_ReclassificationFromProjectAssetsToSolarPowerSystems_638497262835569472" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ReclassificationFromInventoriesToSolarPowerSystems" xlink:label="csiq_ReclassificationFromInventoriesToSolarPowerSystems_638497262835569472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638497262835559468" xlink:to="csiq_ReclassificationFromInventoriesToSolarPowerSystems_638497262835569472" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_BorrowingsAssumedByThirdPartiesWithProjectAssetSales" xlink:label="csiq_BorrowingsAssumedByThirdPartiesWithProjectAssetSales_638497262835569472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638497262835559468" xlink:to="csiq_BorrowingsAssumedByThirdPartiesWithProjectAssetSales_638497262835569472" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_638497262835569472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract_638497262835559468" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid_638497262835569472" order="4" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract_636916143964794580" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638497262835579467" />
    <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_638497262835579467" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue_638497262835579467" />
    <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_638497262835579467" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashAndCashEquivalentsNoncurrent" xlink:label="us-gaap_RestrictedCashAndCashEquivalentsNoncurrent_638497262835579467" />
    <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_638497262835579467" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638497262835589473" />
    <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_638497262835589473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NatureOfOperations" xlink:label="us-gaap_NatureOfOperations_638497262835589473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_NatureOfOperations_638497262835589473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_638497262835589473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_638497262835589473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="ReceivablesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForCreditLossesTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesTextBlock_638497262835589473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReceivablesAbstract" xlink:to="us-gaap_AllowanceForCreditLossesTextBlock_638497262835589473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock_638497262835599478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock_638497262835599478" 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-20231231.xsd#csiq_ProjectAssetsAbstract" xlink:label="csiq_ProjectAssetsAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsDisclosureTextBlock" xlink:label="csiq_ProjectAssetsDisclosureTextBlock_638497262835599478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract" xlink:to="csiq_ProjectAssetsDisclosureTextBlock_638497262835599478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_638497262835599478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_638497262835599478" 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-20231231.xsd#csiq_SolarPowerSystemsAbstract" xlink:label="csiq_SolarPowerSystemsAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarPowerSystemsTextBlock" xlink:label="csiq_SolarPowerSystemsTextBlock_638497262835599478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SolarPowerSystemsAbstract" xlink:to="csiq_SolarPowerSystemsTextBlock_638497262835599478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_638497262835609476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_638497262835609476" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock_638497262835609476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresTextBlock_638497262835609476" 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/2023/elts/us-gaap-2023.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableInterestEntityDisclosureTextBlock" xlink:label="us-gaap_VariableInterestEntityDisclosureTextBlock_638497262835609476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:to="us-gaap_VariableInterestEntityDisclosureTextBlock_638497262835609476" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsDisclosureTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_638497262835609476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_EquityMethodInvestmentsDisclosureTextBlock_638497262835609476" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_638497262835619477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_638497262835619477" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock_638497262835619477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock_638497262835619477" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NotesPayableAbstract" xlink:label="NotesPayableAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ShortTermNotesPayableTextBlock" xlink:label="csiq_ShortTermNotesPayableTextBlock_638497262835619477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NotesPayableAbstract" xlink:to="csiq_ShortTermNotesPayableTextBlock_638497262835619477" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="ProductWarrantiesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="us-gaap_ProductWarrantyDisclosureTextBlock_638497262835629480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductWarrantiesDisclosuresAbstract" xlink:to="us-gaap_ProductWarrantyDisclosureTextBlock_638497262835629480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:label="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedAssetsDisclosureTextBlock" xlink:label="us-gaap_RestrictedAssetsDisclosureTextBlock_638497262835629480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:to="us-gaap_RestrictedAssetsDisclosureTextBlock_638497262835629480" 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-20231231.xsd#csiq_ConvertibleNotesDisclosureAbstract" xlink:label="csiq_ConvertibleNotesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ConvertibleNotesDisclosureTextBlock" xlink:label="csiq_ConvertibleNotesDisclosureTextBlock_638497262835629480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ConvertibleNotesDisclosureAbstract" xlink:to="csiq_ConvertibleNotesDisclosureTextBlock_638497262835629480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_638497262835629480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_638497262835629480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock_638497262835639479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock_638497262835639479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="RelatedPartyTransactionsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_638497262835679478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_638497262835679478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638497262835689489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638497262835689489" 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/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_638497262835689489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_638497262835689489" 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-20231231.xsd#csiq_MajorCustomersDisclosureAbstract" xlink:label="csiq_MajorCustomersDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_MajorCustomersDisclosureTextBlock" xlink:label="csiq_MajorCustomersDisclosureTextBlock_638497262835689489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_MajorCustomersDisclosureAbstract" xlink:to="csiq_MajorCustomersDisclosureTextBlock_638497262835689489" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_638497262835689489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_638497262835689489" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638497262835699486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638497262835699486" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureNonControllingInterests" xlink:type="extended" xlink:title="12601 - Disclosure - NON-CONTROLLING INTERESTS" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="us-gaap_NoncontrollingInterestAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDisclosureTextBlock" xlink:label="us-gaap_MinorityInterestDisclosureTextBlock_638497262835699486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncontrollingInterestAbstract" xlink:to="us-gaap_MinorityInterestDisclosureTextBlock_638497262835699486" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSubsequentEvent" xlink:type="extended" xlink:title="12701 - Disclosure - SUBSEQUENT EVENT" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock_638497262835709478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock_638497262835709478" 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="12801 - 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/2023/elts/srt-2023.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097433328" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock" xlink:label="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_638497262835709478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097433328" xlink:to="us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock_638497262835709478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638497262835709478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_638497262835709478" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock_638497262835709478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ConsolidationPolicyTextBlock_638497262835709478" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription_638497262835709478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_PriorPeriodReclassificationAdjustmentDescription_638497262835709478" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates_638497262835709478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates_638497262835709478" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_638497262835709478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_638497262835709478" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_638497262835719478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy_638497262835719478" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditLossFinancialInstrumentPolicyTextBlock" xlink:label="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_638497262835719478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_CreditLossFinancialInstrumentPolicyTextBlock_638497262835719478" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AdvancesToSuppliersPolicyTextBlock" xlink:label="csiq_AdvancesToSuppliersPolicyTextBlock_638497262835719478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_AdvancesToSuppliersPolicyTextBlock_638497262835719478" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock_638497262835719478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock_638497262835719478" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsPolicyTextBlock" xlink:label="csiq_ProjectAssetsPolicyTextBlock_638497262835719478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ProjectAssetsPolicyTextBlock_638497262835719478" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy_638497262835719478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_BusinessCombinationsPolicy_638497262835719478" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AssetsAcquisitionPolicyTextBlock" xlink:label="csiq_AssetsAcquisitionPolicyTextBlock_638497262835719478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_AssetsAcquisitionPolicyTextBlock_638497262835719478" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_638497262835719478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_638497262835719478" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarPowerSystemsPolicyPolicyTextBlock" xlink:label="csiq_SolarPowerSystemsPolicyPolicyTextBlock_638497262835719478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_SolarPowerSystemsPolicyPolicyTextBlock_638497262835719478" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_638497262835719478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy_638497262835719478" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LandUseRightPolicyTextBlock" xlink:label="csiq_LandUseRightPolicyTextBlock_638497262835719478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_LandUseRightPolicyTextBlock_638497262835719478" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_638497262835729468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_EquityMethodInvestmentsPolicy_638497262835729468" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_638497262835729468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_638497262835729468" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestCapitalizationPolicyPolicyTextBlock" xlink:label="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_638497262835729468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_InterestCapitalizationPolicyPolicyTextBlock_638497262835729468" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AdvancesFromCustomersPolicyTextBlock" xlink:label="csiq_AdvancesFromCustomersPolicyTextBlock_638497262835729468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_AdvancesFromCustomersPolicyTextBlock_638497262835729468" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetRetirementObligationsPolicy" xlink:label="us-gaap_AssetRetirementObligationsPolicy_638497262835729468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AssetRetirementObligationsPolicy_638497262835729468" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_638497262835729468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_638497262835729468" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesPolicyTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_638497262835729468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesPolicyTextBlock_638497262835729468" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_638497262835729468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_638497262835729468" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_638497262835729468" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_638497262835729468" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock" xlink:label="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_638497262835739464" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock_638497262835739464" order="26" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_638497262835739464" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_638497262835739464" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock" xlink:label="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_638497262835739464" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock_638497262835739464" order="28" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardProductWarrantyPolicy" xlink:label="us-gaap_StandardProductWarrantyPolicy_638497262835739464" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_StandardProductWarrantyPolicy_638497262835739464" order="29" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_638497262835739464" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_638497262835739464" order="30" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_638497262835749482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_638497262835749482" order="31" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ForeignCurrencyRiskPolicyTextBlock" xlink:label="csiq_ForeignCurrencyRiskPolicyTextBlock_638497262835749482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ForeignCurrencyRiskPolicyTextBlock_638497262835749482" order="32" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk_638497262835749482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskCreditRisk_638497262835749482" order="33" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_638497262835749482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_638497262835749482" order="34" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock_638497262835749482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_DerivativesPolicyTextBlock_638497262835749482" order="35" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_638497262835749482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_638497262835749482" order="36" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_638497262835759469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_638497262835759469" order="37" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_UnusualOrInfrequentItemPolicyTextBlock" xlink:label="csiq_UnusualOrInfrequentItemPolicyTextBlock_638497262835759469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_UnusualOrInfrequentItemPolicyTextBlock_638497262835759469" order="38" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_638497262835759469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_638497262835759469" order="39" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_638497262835759469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock_638497262835759469" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_638497262835759469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_638497262835759469" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ScheduleOfElectricityRevenueTableTextBlock" xlink:label="csiq_ScheduleOfElectricityRevenueTableTextBlock_638497262835769475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ScheduleOfElectricityRevenueTableTextBlock_638497262835769475" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_638497262835769475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_638497262835769475" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_638497262835769475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_638497262835769475" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock" xlink:label="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_638497262835769475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock_638497262835769475" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock" xlink:label="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock_638497262835769475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock_638497262835769475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="ReceivablesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638497262835769475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ReceivablesAbstract" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638497262835769475" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_638497262835769475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638497262835769475" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_638497262835769475" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_638497262835769475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_638497262835769475" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_638497262835769475" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember_638497262835779476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638497262835769475" xlink:to="us-gaap_AllowanceForCreditLossMember_638497262835779476" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AllowanceForAdvancesToSuppliersMember" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember_638497262835779476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638497262835769475" xlink:to="csiq_AllowanceForAdvancesToSuppliersMember_638497262835779476" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AllowanceForWarrantyInsuranceReceivableMember" xlink:label="csiq_AllowanceForWarrantyInsuranceReceivableMember_638497262835779476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638497262835769475" xlink:to="csiq_AllowanceForWarrantyInsuranceReceivableMember_638497262835779476" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember_638497262835779476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638497262835769475" xlink:to="csiq_AllowanceForOtherReceivablesMember_638497262835779476" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems_638497262835779476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638497262835769475" xlink:to="us-gaap_AccountsNotesAndLoansReceivableLineItems_638497262835779476" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_638497262835779476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638497262835779476" xlink:to="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_638497262835779476" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_638497262835779476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638497262835779476" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_638497262835779476" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_638497262835779476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_638497262835779476" 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-20231231.xsd#csiq_ProjectAssetsAbstract" xlink:label="csiq_ProjectAssetsAbstract_635640928650455218" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ScheduleOfProjectAssetsTableTextBlock" xlink:label="csiq_ScheduleOfProjectAssetsTableTextBlock_638497262835789601" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640928650455218" xlink:to="csiq_ScheduleOfProjectAssetsTableTextBlock_638497262835789601" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock" xlink:label="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_638497262835789601" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock_638497262835789601" 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-20231231.xsd#csiq_SolarPowerSystemsAbstract" xlink:label="csiq_SolarPowerSystemsAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock" xlink:label="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_638497262835789601" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SolarPowerSystemsAbstract" xlink:to="csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock_638497262835789601" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_638497262835799473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock_638497262835799473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_638497262835799473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_638497262835799473" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_638497262835799473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_638497262835799473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTextBlock" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_638497262835799473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTextBlock_638497262835799473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentsTextBlock" xlink:label="us-gaap_EquityMethodInvestmentsTextBlock_638497262835809472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_EquityMethodInvestmentsTextBlock_638497262835809472" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock_638497262835809472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeaseCostTableTextBlock_638497262835809472" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock" xlink:label="csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock_638497262835809472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock_638497262835809472" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock" xlink:label="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_638497262835809472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock_638497262835809472" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638497262835809472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638497262835809472" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfDebtTableTextBlock_638497262835819473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDebtTableTextBlock_638497262835819473" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock" xlink:label="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_638497262835819473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock_638497262835819473" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ScheduleOfEffectiveInterestRatesTableTextBlock" xlink:label="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_638497262835819473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="csiq_ScheduleOfEffectiveInterestRatesTableTextBlock_638497262835819473" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ScheduleOfInterestExpenseTableTextBlock" xlink:label="csiq_ScheduleOfInterestExpenseTableTextBlock_638497262835819473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="csiq_ScheduleOfInterestExpenseTableTextBlock_638497262835819473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="ProductWarrantiesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_638497262835819473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductWarrantiesDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_638497262835819473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_638497262835829479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_638497262835829479" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638497262835829479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638497262835829479" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SummaryOfIncomeTaxHolidayTextBlock" xlink:label="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_638497262835829479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_SummaryOfIncomeTaxHolidayTextBlock_638497262835829479" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_638497262835829479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_638497262835829479" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SummaryOfValuationAllowanceTextBlock" xlink:label="us-gaap_SummaryOfValuationAllowanceTextBlock_638497262835829479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_SummaryOfValuationAllowanceTextBlock_638497262835829479" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_638497262835829479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_638497262835829479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638497262835839478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638497262835839478" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_638497262835839478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_638497262835839478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638497262835839478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_StatementTable_638497262835839478" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638497262835849487" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262835839478" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638497262835849487" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638497262835849487" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638497262835849487" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638497262835849487" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember_638497262835849487" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638497262835849487" xlink:to="csiq_PropertyAndEquipmentPurchaseCommitmentMember_638497262835849487" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarPowerSystemCommitmentsMember" xlink:label="csiq_SolarPowerSystemCommitmentsMember_638497262835849487" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638497262835849487" xlink:to="csiq_SolarPowerSystemCommitmentsMember_638497262835849487" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638497262835849487" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262835839478" xlink:to="us-gaap_StatementLineItems_638497262835849487" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermPurchaseCommitmentTextBlock" xlink:label="us-gaap_LongTermPurchaseCommitmentTextBlock_638497262835849487" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262835849487" xlink:to="us-gaap_LongTermPurchaseCommitmentTextBlock_638497262835849487" 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/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638497262835859477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638497262835859477" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_638497262835859477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_638497262835859477" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_638497262835859477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_638497262835859477" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_638497262835859477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock_638497262835859477" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_638497262835859477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_638497262835859477" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_638497262835859477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_638497262835859477" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureNonControllingInterestsTables" xlink:type="extended" xlink:title="32603 - Disclosure - NON-CONTROLLING INTERESTS (Tables)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="us-gaap_NoncontrollingInterestAbstract_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock_638497262835869479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncontrollingInterestAbstract_1" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock_638497262835869479" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </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/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638497262835869479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_StatementTable_638497262835869479" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638497262835869479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262835869479" xlink:to="dei_LegalEntityAxis_638497262835869479" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638497262835869479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638497262835869479" xlink:to="dei_EntityDomain_638497262835869479" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarCoLtdMember" xlink:label="csiq_CsiSolarCoLtdMember_638497262835869479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262835869479" xlink:to="csiq_CsiSolarCoLtdMember_638497262835869479" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638497262835879481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262835869479" xlink:to="srt_ConsolidatedEntitiesAxis_638497262835879481" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638497262835879481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638497262835879481" xlink:to="srt_ConsolidatedEntitiesDomain_638497262835879481" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember_638497262835879481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638497262835879481" xlink:to="srt_SubsidiariesMember_638497262835879481" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_638497262835879481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262835869479" xlink:to="srt_OwnershipAxis_638497262835879481" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_638497262835879481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis_638497262835879481" xlink:to="srt_OwnershipDomain_638497262835879481" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarMember" xlink:label="csiq_CanadianSolarMember_638497262835879481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain_638497262835879481" xlink:to="csiq_CanadianSolarMember_638497262835879481" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarCoLtdMember" xlink:label="csiq_CsiSolarCoLtdMember_638497262835879481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain_638497262835879481" xlink:to="csiq_CsiSolarCoLtdMember_638497262835879481" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_638497262835879481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262835869479" xlink:to="srt_CounterpartyNameAxis_638497262835879481" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_638497262835879481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis_638497262835879481" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_638497262835879481" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarEmployeesMember" xlink:label="csiq_CanadianSolarEmployeesMember_638497262835889588" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262835879481" xlink:to="csiq_CanadianSolarEmployeesMember_638497262835889588" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember" xlink:label="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_638497262835889588" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262835879481" xlink:to="csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_638497262835889588" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638497262835889588" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262835869479" xlink:to="us-gaap_PlanNameAxis_638497262835889588" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638497262835889588" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638497262835889588" xlink:to="us-gaap_PlanNameDomain_638497262835889588" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarEmployeeIncentivePlan2020Member" xlink:label="csiq_CsiSolarEmployeeIncentivePlan2020Member_638497262835889588" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638497262835889588" xlink:to="csiq_CsiSolarEmployeeIncentivePlan2020Member_638497262835889588" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638497262835889588" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262835869479" xlink:to="us-gaap_StatementLineItems_638497262835889588" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferred1" xlink:label="us-gaap_BusinessCombinationConsiderationTransferred1_638497262835889588" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262835889588" xlink:to="us-gaap_BusinessCombinationConsiderationTransferred1_638497262835889588" 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/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable" xlink:label="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_638497262835889588" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262835889588" xlink:to="us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable_638497262835889588" 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/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_638497262835899471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262835889588" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_638497262835899471" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan_638497262835899471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262835889588" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan_638497262835899471" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts" xlink:label="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts_638497262835899471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262835889588" xlink:to="csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts_638497262835899471" 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/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_638497262835899471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262835889588" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_638497262835899471" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects" xlink:label="csiq_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects_638497262835899471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262835889588" xlink:to="csiq_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects_638497262835899471" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainContingenciesTable" xlink:label="us-gaap_GainContingenciesTable_638497262835909473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GainContingenciesTable_638497262835909473" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638497262835909473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesTable_638497262835909473" xlink:to="us-gaap_BalanceSheetLocationAxis_638497262835909473" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638497262835909473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638497262835909473" xlink:to="us-gaap_BalanceSheetLocationDomain_638497262835909473" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_638497262835909473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638497262835909473" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_638497262835909473" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis_638497262835909473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesTable_638497262835909473" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis_638497262835909473" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_638497262835909473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis_638497262835909473" xlink:to="us-gaap_GuaranteeObligationsNatureDomain_638497262835909473" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialGuaranteeMember" xlink:label="us-gaap_FinancialGuaranteeMember_638497262835919479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_638497262835909473" xlink:to="us-gaap_FinancialGuaranteeMember_638497262835919479" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638497262835919479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesTable_638497262835909473" xlink:to="srt_ConsolidatedEntitiesAxis_638497262835919479" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638497262835919479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638497262835919479" xlink:to="srt_ConsolidatedEntitiesDomain_638497262835919479" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_638497262835919479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638497262835919479" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_638497262835919479" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainContingenciesLineItems" xlink:label="us-gaap_GainContingenciesLineItems_638497262835919479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesTable_638497262835909473" xlink:to="us-gaap_GainContingenciesLineItems_638497262835919479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_638497262835919479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesLineItems_638497262835919479" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_638497262835919479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsMaximumExposure" xlink:label="us-gaap_GuaranteeObligationsMaximumExposure_638497262835919479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GainContingenciesLineItems_638497262835919479" xlink:to="us-gaap_GuaranteeObligationsMaximumExposure_638497262835919479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638497262835929481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638497262835929481" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638497262835929481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638497262835929481" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638497262835929481" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262835929481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638497262835929481" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262835929481" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember_638497262835929481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262835929481" xlink:to="us-gaap_BuildingMember_638497262835929481" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember_638497262835929481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262835929481" xlink:to="us-gaap_MachineryAndEquipmentMember_638497262835929481" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember_638497262835929481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262835929481" xlink:to="us-gaap_FurnitureAndFixturesMember_638497262835929481" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember_638497262835929481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262835929481" xlink:to="us-gaap_VehiclesMember_638497262835929481" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember_638497262835929481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262835929481" xlink:to="us-gaap_ElectricGenerationEquipmentMember_638497262835929481" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638497262835929481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638497262835929481" xlink:to="srt_RangeAxis_638497262835929481" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638497262835929481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638497262835929481" xlink:to="srt_RangeMember_638497262835929481" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638497262835929481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262835929481" xlink:to="srt_MinimumMember_638497262835929481" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638497262835939473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262835929481" xlink:to="srt_MaximumMember_638497262835939473" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis_638497262835939473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638497262835929481" xlink:to="us-gaap_ChangeInAccountingEstimateByTypeAxis_638497262835939473" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:label="us-gaap_ChangeInAccountingEstimateTypeDomain_638497262835939473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInAccountingEstimateByTypeAxis_638497262835939473" xlink:to="us-gaap_ChangeInAccountingEstimateTypeDomain_638497262835939473" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ServiceLifeMember" xlink:label="us-gaap_ServiceLifeMember_638497262835939473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ChangeInAccountingEstimateTypeDomain_638497262835939473" xlink:to="us-gaap_ServiceLifeMember_638497262835939473" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_638497262835939473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638497262835929481" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_638497262835939473" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_638497262835939473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638497262835939473" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_638497262835939473" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker" xlink:label="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker_638497262835939473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638497262835939473" xlink:to="csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker_638497262835939473" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncreaseDecreaseInDepreciationExpense" xlink:label="csiq_IncreaseDecreaseInDepreciationExpense_638497262835949561" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638497262835939473" xlink:to="csiq_IncreaseDecreaseInDepreciationExpense_638497262835949561" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638497262835949561" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638497262835949561" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638497262835949561" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638497262835949561" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638497262835949561" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638497262835949561" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638497262835949561" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638497262835949561" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelatedIntangibleAssetsMember" xlink:label="us-gaap_CustomerRelatedIntangibleAssetsMember_638497262835949561" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638497262835949561" xlink:to="us-gaap_CustomerRelatedIntangibleAssetsMember_638497262835949561" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember" xlink:label="us-gaap_TrademarksMember_638497262835949561" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638497262835949561" xlink:to="us-gaap_TrademarksMember_638497262835949561" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember_638497262835959482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638497262835949561" xlink:to="us-gaap_DevelopedTechnologyRightsMember_638497262835959482" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_638497262835959482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638497262835949561" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_638497262835959482" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseRightsMember" xlink:label="us-gaap_UseRightsMember_638497262835959482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638497262835949561" xlink:to="us-gaap_UseRightsMember_638497262835959482" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638497262835959482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638497262835949561" xlink:to="srt_RangeAxis_638497262835959482" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638497262835959482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638497262835959482" xlink:to="srt_RangeMember_638497262835959482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638497262835959482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262835959482" xlink:to="srt_MinimumMember_638497262835959482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638497262835959482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262835959482" xlink:to="srt_MaximumMember_638497262835959482" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_638497262835959482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638497262835949561" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_638497262835959482" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_638497262835959482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638497262835959482" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_638497262835959482" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAdvancesFromCustomersAndAssetRetirementObligationDetails" xlink:type="extended" xlink:title="40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Advances from customers and Asset retirement obligation (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InvestmentsInAffiliatesImpairmentCharge" xlink:label="csiq_InvestmentsInAffiliatesImpairmentCharge_638497262835969469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="csiq_InvestmentsInAffiliatesImpairmentCharge_638497262835969469" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_638497262835969469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AssetImpairmentCharges_638497262835969469" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetRetirementObligation" xlink:label="us-gaap_AssetRetirementObligation_638497262835969469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AssetRetirementObligation_638497262835969469" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638497262835969469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638497262835969469" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent_638497262835969469" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent_638497262835969469" order="5" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638497262835979482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_638497262835979482" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638497262835979482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638497262835979482" xlink:to="srt_ProductOrServiceAxis_638497262835979482" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638497262835979482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638497262835979482" xlink:to="srt_ProductsAndServicesDomain_638497262835979482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember_638497262835979482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262835979482" xlink:to="us-gaap_ElectricityMember_638497262835979482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638497262835979482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638497262835979482" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638497262835979482" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AmountOfPerformanceBasedEnergyIncentives" xlink:label="csiq_AmountOfPerformanceBasedEnergyIncentives_638497262835979482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638497262835979482" xlink:to="csiq_AmountOfPerformanceBasedEnergyIncentives_638497262835979482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638497262835989490" />
    <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_638497262835989490" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638497262835989490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638497262835989490" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638497262835989490" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638497262835989490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638497262835989490" xlink:to="us-gaap_SegmentDomain_638497262835989490" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember_638497262835989490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638497262835989490" xlink:to="csiq_CsiSolarSegmentMember_638497262835989490" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_RecurrentEnergySegmentMember" xlink:label="csiq_RecurrentEnergySegmentMember_638497262835989490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638497262835989490" xlink:to="csiq_RecurrentEnergySegmentMember_638497262835989490" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638497262835989490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638497262835989490" xlink:to="srt_ProductOrServiceAxis_638497262835989490" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638497262835989490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638497262835989490" xlink:to="srt_ProductsAndServicesDomain_638497262835989490" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ElectricityMember" xlink:label="us-gaap_ElectricityMember_638497262835989490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262835989490" xlink:to="us-gaap_ElectricityMember_638497262835989490" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638497262835999474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638497262835989490" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638497262835999474" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638497262835999474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638497262835999474" xlink:to="us-gaap_Revenues_638497262835999474" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLeaseIncome" xlink:label="us-gaap_OperatingLeaseLeaseIncome_638497262835999474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638497262835999474" xlink:to="us-gaap_OperatingLeaseLeaseIncome_638497262835999474" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList" xlink:label="us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList_638497262835999474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLeaseIncome_638497262835999474" xlink:to="us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList_638497262835999474" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262835999474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638497262835999474" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262835999474" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638497262836009478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_638497262836009478" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638497262836009478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638497262836009478" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638497262836009478" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638497262836009478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638497262836009478" xlink:to="us-gaap_SegmentDomain_638497262836009478" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember_638497262836009478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638497262836009478" xlink:to="csiq_CsiSolarSegmentMember_638497262836009478" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_RecurrentEnergySegmentMember" xlink:label="csiq_RecurrentEnergySegmentMember_638497262836009478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638497262836009478" xlink:to="csiq_RecurrentEnergySegmentMember_638497262836009478" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_638497262836009478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638497262836009478" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis_638497262836009478" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638497262836009478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis_638497262836009478" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638497262836009478" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember_638497262836009478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638497262836009478" xlink:to="us-gaap_TransferredAtPointInTimeMember_638497262836009478" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember_638497262836009478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain_638497262836009478" xlink:to="us-gaap_TransferredOverTimeMember_638497262836009478" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638497262836009478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638497262836009478" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638497262836009478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262836009478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638497262836009478" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262836009478" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_RevenueGeneratedFromFinanceLease" xlink:label="csiq_RevenueGeneratedFromFinanceLease_638497262836019473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638497262836009478" xlink:to="csiq_RevenueGeneratedFromFinanceLease_638497262836019473" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_638497262836019473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_638497262836019473" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_638497262836019473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_638497262836019473" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetAbstract" xlink:label="us-gaap_ContractWithCustomerAssetNetAbstract_638497262836019473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerAssetNetAbstract_638497262836019473" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="us-gaap_UnbilledReceivablesCurrent_638497262836019473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerAssetNetAbstract_638497262836019473" xlink:to="us-gaap_UnbilledReceivablesCurrent_638497262836019473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_638497262836019473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract_638497262836019473" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_638497262836019473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_638497262836019473" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_638497262836019473" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ContractLiabilitiesOtherCurrentLiabilities" xlink:label="csiq_ContractLiabilitiesOtherCurrentLiabilities_638497262836029476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_638497262836019473" xlink:to="csiq_ContractLiabilitiesOtherCurrentLiabilities_638497262836029476" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ContractLiabilitiesOtherNonCurrentLiabilities" xlink:label="csiq_ContractLiabilitiesOtherNonCurrentLiabilities_638497262836029476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_638497262836019473" xlink:to="csiq_ContractLiabilitiesOtherNonCurrentLiabilities_638497262836029476" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability_638497262836029476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerLiabilityAbstract_638497262836019473" xlink:to="us-gaap_ContractWithCustomerLiability_638497262836029476" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638497262836029476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_StatementTable_638497262836029476" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638497262836029476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262836029476" xlink:to="srt_ProductOrServiceAxis_638497262836029476" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638497262836029476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638497262836029476" xlink:to="srt_ProductsAndServicesDomain_638497262836029476" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShippingAndHandlingMember" xlink:label="us-gaap_ShippingAndHandlingMember_638497262836029476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262836029476" xlink:to="us-gaap_ShippingAndHandlingMember_638497262836029476" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638497262836039476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262836029476" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638497262836039476" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638497262836039476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638497262836039476" xlink:to="us-gaap_SegmentDomain_638497262836039476" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember_638497262836039476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638497262836039476" xlink:to="csiq_CsiSolarSegmentMember_638497262836039476" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638497262836039476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262836029476" xlink:to="us-gaap_StatementLineItems_638497262836039476" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense_638497262836039476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262836039476" xlink:to="us-gaap_SellingExpense_638497262836039476" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_638497262836039476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262836039476" xlink:to="us-gaap_ResearchAndDevelopmentExpense_638497262836039476" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable_638497262836049512" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable_638497262836049512" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638497262836049512" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638497262836049512" xlink:to="srt_ProductOrServiceAxis_638497262836049512" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638497262836049512" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638497262836049512" xlink:to="srt_ProductsAndServicesDomain_638497262836049512" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrantMember" xlink:label="us-gaap_GrantMember_638497262836049512" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262836049512" xlink:to="us-gaap_GrantMember_638497262836049512" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638497262836049512" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638497262836049512" xlink:to="us-gaap_BalanceSheetLocationAxis_638497262836049512" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638497262836049512" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638497262836049512" xlink:to="us-gaap_BalanceSheetLocationDomain_638497262836049512" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherCurrentLiabilitiesMember" xlink:label="us-gaap_OtherCurrentLiabilitiesMember_638497262836049512" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638497262836049512" xlink:to="us-gaap_OtherCurrentLiabilitiesMember_638497262836049512" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_638497262836049512" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable_638497262836049512" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_638497262836049512" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense" xlink:label="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_638497262836059494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638497262836049512" xlink:to="csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense_638497262836059494" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_GainLossOnDisposalOfSolarPowerSystems" xlink:label="csiq_GainLossOnDisposalOfSolarPowerSystems_638497262836059494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638497262836049512" xlink:to="csiq_GainLossOnDisposalOfSolarPowerSystems_638497262836059494" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InsuranceClaimsOrWeatherRelatedProjectDamages" xlink:label="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_638497262836059494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638497262836049512" xlink:to="csiq_InsuranceClaimsOrWeatherRelatedProjectDamages_638497262836059494" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_638497262836059494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638497262836049512" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_638497262836059494" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" priority="9" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_GovernmentGrantsNonCurrent" xlink:label="csiq_GovernmentGrantsNonCurrent_638497262836059494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems_638497262836049512" xlink:to="csiq_GovernmentGrantsNonCurrent_638497262836059494" order="5" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyLiabilityTable" xlink:label="us-gaap_ProductWarrantyLiabilityTable_638497262836069498" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ProductWarrantyLiabilityTable_638497262836069498" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638497262836069498" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable_638497262836069498" xlink:to="srt_RangeAxis_638497262836069498" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638497262836069498" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638497262836069498" xlink:to="srt_RangeMember_638497262836069498" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638497262836069498" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262836069498" xlink:to="srt_MinimumMember_638497262836069498" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638497262836079489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262836069498" xlink:to="srt_MaximumMember_638497262836079489" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638497262836079489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable_638497262836069498" xlink:to="srt_ProductOrServiceAxis_638497262836079489" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638497262836079489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638497262836079489" xlink:to="srt_ProductsAndServicesDomain_638497262836079489" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_StandardSolarModuleMember" xlink:label="csiq_StandardSolarModuleMember_638497262836079489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262836079489" xlink:to="csiq_StandardSolarModuleMember_638497262836079489" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_BifacialModuleAndDoubleGlassModuleMember" xlink:label="csiq_BifacialModuleAndDoubleGlassModuleMember_638497262836079489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262836079489" xlink:to="csiq_BifacialModuleAndDoubleGlassModuleMember_638497262836079489" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CertainSolarModuleMember" xlink:label="csiq_CertainSolarModuleMember_638497262836079489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262836079489" xlink:to="csiq_CertainSolarModuleMember_638497262836079489" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_BatteryStorageProductsMember" xlink:label="csiq_BatteryStorageProductsMember_638497262836079489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262836079489" xlink:to="csiq_BatteryStorageProductsMember_638497262836079489" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarPowerProjectsByEpcServicesMember" xlink:label="csiq_SolarPowerProjectsByEpcServicesMember_638497262836079489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262836079489" xlink:to="csiq_SolarPowerProjectsByEpcServicesMember_638497262836079489" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsByNatureAxis" xlink:label="us-gaap_GuaranteeObligationsByNatureAxis_638497262836079489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable_638497262836069498" xlink:to="us-gaap_GuaranteeObligationsByNatureAxis_638497262836079489" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GuaranteeObligationsNatureDomain" xlink:label="us-gaap_GuaranteeObligationsNatureDomain_638497262836089476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsByNatureAxis_638497262836079489" xlink:to="us-gaap_GuaranteeObligationsNatureDomain_638497262836089476" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_MaterialAndWorkmanShipMember" xlink:label="csiq_MaterialAndWorkmanShipMember_638497262836089476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GuaranteeObligationsNatureDomain_638497262836089476" xlink:to="csiq_MaterialAndWorkmanShipMember_638497262836089476" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyLiabilityLineItems" xlink:label="us-gaap_ProductWarrantyLiabilityLineItems_638497262836089476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityTable_638497262836069498" xlink:to="us-gaap_ProductWarrantyLiabilityLineItems_638497262836089476" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProductWarrantyAccrualRateForSalesOfSolarModules" xlink:label="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_638497262836089476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638497262836089476" xlink:to="csiq_ProductWarrantyAccrualRateForSalesOfSolarModules_638497262836089476" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InsurancePolicyTerm" xlink:label="csiq_InsurancePolicyTerm_638497262836089476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638497262836089476" xlink:to="csiq_InsurancePolicyTerm_638497262836089476" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_StandardProductWarrantyPeriod" xlink:label="csiq_StandardProductWarrantyPeriod_638497262836089476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638497262836089476" xlink:to="csiq_StandardProductWarrantyPeriod_638497262836089476" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_638497262836089476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638497262836089476" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity_638497262836089476" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity" xlink:label="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_638497262836089476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638497262836089476" xlink:to="csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity_638497262836089476" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InsurancePremiumUnamortizedAmountNoncurrent" xlink:label="csiq_InsurancePremiumUnamortizedAmountNoncurrent_638497262836099471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638497262836089476" xlink:to="csiq_InsurancePremiumUnamortizedAmountNoncurrent_638497262836099471" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InsuranceSettlementsReceivableNoncurrent" xlink:label="us-gaap_InsuranceSettlementsReceivableNoncurrent_638497262836099471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638497262836089476" xlink:to="us-gaap_InsuranceSettlementsReceivableNoncurrent_638497262836099471" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OtherNoncurrentAssetsAdjustment" xlink:label="csiq_OtherNoncurrentAssetsAdjustment_638497262836099471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638497262836089476" xlink:to="csiq_OtherNoncurrentAssetsAdjustment_638497262836099471" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyExpense" xlink:label="us-gaap_ProductWarrantyExpense_638497262836099471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638497262836089476" xlink:to="us-gaap_ProductWarrantyExpense_638497262836099471" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_638497262836099471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638497262836089476" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty_638497262836099471" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty" xlink:label="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_638497262836099471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638497262836089476" xlink:to="csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty_638497262836099471" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_StandardProductWarrantyExtensionPeriod" xlink:label="csiq_StandardProductWarrantyExtensionPeriod_638497262836099471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638497262836089476" xlink:to="csiq_StandardProductWarrantyExtensionPeriod_638497262836099471" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_StandardProductWarrantyTerm" xlink:label="csiq_StandardProductWarrantyTerm_638497262836109470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProductWarrantyLiabilityLineItems_638497262836089476" xlink:to="csiq_StandardProductWarrantyTerm_638497262836109470" order="13" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable_638497262836109470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_ConcentrationRiskTable_638497262836109470" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_638497262836109470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638497262836109470" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_638497262836109470" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_638497262836119482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_638497262836109470" xlink:to="us-gaap_ConcentrationRiskTypeDomain_638497262836119482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplierConcentrationRiskMember" xlink:label="us-gaap_SupplierConcentrationRiskMember_638497262836119482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain_638497262836119482" xlink:to="us-gaap_SupplierConcentrationRiskMember_638497262836119482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_638497262836119482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638497262836109470" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_638497262836119482" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain" xlink:label="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_638497262836119482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_638497262836119482" xlink:to="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_638497262836119482" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SupplierMember" xlink:label="csiq_SupplierMember_638497262836119482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain_638497262836119482" xlink:to="csiq_SupplierMember_638497262836119482" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems_638497262836119482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable_638497262836109470" xlink:to="us-gaap_ConcentrationRiskLineItems_638497262836119482" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdvancesOnInventoryPurchases" xlink:label="us-gaap_AdvancesOnInventoryPurchases_638497262836119482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems_638497262836119482" xlink:to="us-gaap_AdvancesOnInventoryPurchases_638497262836119482" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/netLabel" priority="4" />
  </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/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract_637531197624997753" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638497262836129486" />
    <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_638497262836129486" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_638497262836129486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638497262836129486" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_638497262836129486" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_638497262836129486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_638497262836129486" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_638497262836129486" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForCreditLossMember" xlink:label="us-gaap_AllowanceForCreditLossMember_638497262836129486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638497262836129486" xlink:to="us-gaap_AllowanceForCreditLossMember_638497262836129486" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AllowanceForAdvancesToSuppliersMember" xlink:label="csiq_AllowanceForAdvancesToSuppliersMember_638497262836129486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638497262836129486" xlink:to="csiq_AllowanceForAdvancesToSuppliersMember_638497262836129486" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AllowanceForWarrantyInsuranceReceivableMember" xlink:label="csiq_AllowanceForWarrantyInsuranceReceivableMember_638497262836129486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638497262836129486" xlink:to="csiq_AllowanceForWarrantyInsuranceReceivableMember_638497262836129486" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AllowanceForOtherReceivablesMember" xlink:label="csiq_AllowanceForOtherReceivablesMember_638497262836129486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638497262836129486" xlink:to="csiq_AllowanceForOtherReceivablesMember_638497262836129486" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember" xlink:label="csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_638497262836129486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638497262836129486" xlink:to="csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_638497262836129486" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsNotesAndLoansReceivableLineItems" xlink:label="us-gaap_AccountsNotesAndLoansReceivableLineItems_638497262836129486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable_638497262836129486" xlink:to="us-gaap_AccountsNotesAndLoansReceivableLineItems_638497262836129486" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent_638497262836139474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638497262836129486" xlink:to="us-gaap_AccountsReceivableGrossCurrent_638497262836139474" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638497262836139474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638497262836129486" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638497262836139474" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638497262836139474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638497262836129486" xlink:to="us-gaap_AccountsReceivableNetCurrent_638497262836139474" 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/2023/elts/us-gaap-2023.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638497262836139474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountsNotesAndLoansReceivableLineItems_638497262836129486" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638497262836139474" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_6384972628361394741" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638497262836139474" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_6384972628361394741" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_638497262836139474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638497262836139474" xlink:to="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_638497262836139474" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDeductions" xlink:label="us-gaap_ValuationAllowancesAndReservesDeductions_638497262836139474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638497262836139474" xlink:to="us-gaap_ValuationAllowancesAndReservesDeductions_638497262836139474" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_638497262836139474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638497262836139474" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_638497262836139474" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638497262836149495" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638497262836139474" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638497262836149495" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract" xlink:label="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638497262836149495" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638497262836149495" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_638497262836149495" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638497262836149495" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves_638497262836149495" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_638497262836149495" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638497262836149495" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_638497262836149495" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_638497262836159494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638497262836149495" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_638497262836159494" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet_638497262836159494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract_638497262836149495" xlink:to="us-gaap_InventoryNet_638497262836159494" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_FinishedGoodsModules" xlink:label="csiq_FinishedGoodsModules_638497262836159494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="csiq_FinishedGoodsModules_638497262836159494" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_638497262836159494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_638497262836159494" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown_638497262836159494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryWriteDown_638497262836159494" 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-20231231.xsd#csiq_ProjectAssetsAbstract" xlink:label="csiq_ProjectAssetsAbstract_635640936816385218" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts_638497262836159494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts_638497262836159494" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost" xlink:label="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_638497262836159494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost_638497262836159494" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsPlantsAndLand" xlink:label="csiq_ProjectAssetsPlantsAndLand_638497262836159494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLand_638497262836159494" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsPlantsAndLandCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638497262836169482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandCurrentPortion_638497262836169482" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsPlantsAndLandNonCurrentPortion" xlink:label="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638497262836169482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsPlantsAndLandNonCurrentPortion_638497262836169482" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_638497262836169482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_ProjectAssetsImpairmentCharge_638497262836169482" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InterestCostsCapitalizedProjectAssets" xlink:label="csiq_InterestCostsCapitalizedProjectAssets_638497262836169482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ProjectAssetsAbstract_635640936816385218" xlink:to="csiq_InterestCostsCapitalizedProjectAssets_638497262836169482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="PropertyPlantAndEquipmentAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638497262836169482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638497262836169482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638497262836169482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638497262836169482" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638497262836169482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262836169482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638497262836169482" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262836169482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BuildingMember" xlink:label="us-gaap_BuildingMember_638497262836169482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262836169482" xlink:to="us-gaap_BuildingMember_638497262836169482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember_638497262836179482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262836169482" xlink:to="us-gaap_LeaseholdImprovementsMember_638497262836179482" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember_638497262836179482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262836169482" xlink:to="us-gaap_MachineryAndEquipmentMember_638497262836179482" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember_638497262836179482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262836169482" xlink:to="us-gaap_FurnitureAndFixturesMember_638497262836179482" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember_638497262836179482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262836169482" xlink:to="us-gaap_VehiclesMember_638497262836179482" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LandMember" xlink:label="us-gaap_LandMember_638497262836179482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262836169482" xlink:to="us-gaap_LandMember_638497262836179482" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836179482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638497262836169482" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836179482" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_638497262836179482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836179482" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_638497262836179482" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638497262836179482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836179482" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_638497262836179482" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet" xlink:label="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638497262836179482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836179482" xlink:to="csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet_638497262836179482" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressGross" xlink:label="us-gaap_ConstructionInProgressGross_638497262836179482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836179482" xlink:to="us-gaap_ConstructionInProgressGross_638497262836179482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638497262836189475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836179482" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638497262836189475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation_638497262836189475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836179482" xlink:to="us-gaap_Depreciation_638497262836189475" 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-20231231.xsd#csiq_SolarPowerSystemsAbstract" xlink:label="csiq_SolarPowerSystemsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638497262836189475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_SolarPowerSystemsAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638497262836189475" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638497262836189475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638497262836189475" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638497262836189475" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262836189475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638497262836189475" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262836189475" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ElectricGenerationEquipmentMember" xlink:label="us-gaap_ElectricGenerationEquipmentMember_638497262836189475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262836189475" xlink:to="us-gaap_ElectricGenerationEquipmentMember_638497262836189475" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetUnderConstructionMember" xlink:label="us-gaap_AssetUnderConstructionMember_638497262836189475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638497262836189475" xlink:to="us-gaap_AssetUnderConstructionMember_638497262836189475" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836189475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638497262836189475" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836189475" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarPowerSystemsGross" xlink:label="csiq_SolarPowerSystemsGross_638497262836199481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836189475" xlink:to="csiq_SolarPowerSystemsGross_638497262836199481" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems" xlink:label="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_638497262836199481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836189475" xlink:to="csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems_638497262836199481" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarPowerSystems" xlink:label="csiq_SolarPowerSystems_638497262836199481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836189475" xlink:to="csiq_SolarPowerSystems_638497262836199481" 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/2023/elts/us-gaap-2023.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation_638497262836199481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836189475" xlink:to="us-gaap_Depreciation_638497262836199481" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarPowerSystemsReclassifiedToProjectAssets" xlink:label="csiq_SolarPowerSystemsReclassifiedToProjectAssets_638497262836199481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836189475" xlink:to="csiq_SolarPowerSystemsReclassifiedToProjectAssets_638497262836199481" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InterestCostsCapitalizedSolarPowerSystemNet" xlink:label="csiq_InterestCostsCapitalizedSolarPowerSystemNet_638497262836199481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638497262836189475" xlink:to="csiq_InterestCostsCapitalizedSolarPowerSystemNet_638497262836199481" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNetAbstract" xlink:label="FiniteLivedIntangibleAssetsNetAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638497262836209479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FiniteLivedIntangibleAssetsNetAbstract" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638497262836209479" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638497262836209479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638497262836209479" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638497262836209479" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638497262836209479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638497262836209479" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638497262836209479" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember_638497262836209479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638497262836209479" xlink:to="us-gaap_DevelopedTechnologyRightsMember_638497262836209479" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_638497262836209479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638497262836209479" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_638497262836209479" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelatedIntangibleAssetsMember" xlink:label="us-gaap_CustomerRelatedIntangibleAssetsMember_638497262836209479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638497262836209479" xlink:to="us-gaap_CustomerRelatedIntangibleAssetsMember_638497262836209479" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksMember" xlink:label="us-gaap_TrademarksMember_638497262836209479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638497262836209479" xlink:to="us-gaap_TrademarksMember_638497262836209479" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_638497262836209479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638497262836209479" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_638497262836209479" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_638497262836209479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638497262836209479" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_638497262836209479" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638497262836209479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638497262836209479" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638497262836209479" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638497262836219475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638497262836209479" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638497262836219475" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets_638497262836219475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638497262836209479" xlink:to="us-gaap_AmortizationOfIntangibleAssets_638497262836219475" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638497262836219475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638497262836209479" xlink:to="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638497262836219475" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638497262836219475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638497262836219475" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638497262836219475" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638497262836219475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638497262836219475" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638497262836219475" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638497262836219475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638497262836219475" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638497262836219475" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638497262836219475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638497262836219475" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638497262836219475" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638497262836229470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638497262836219475" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638497262836229470" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_638497262836229470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_638497262836219475" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_638497262836229470" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails" xlink:type="extended" xlink:title="40901 - 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/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638497262836229470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638497262836229470" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638497262836229470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638497262836229470" xlink:to="us-gaap_BalanceSheetLocationAxis_638497262836229470" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638497262836229470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638497262836229470" xlink:to="us-gaap_BalanceSheetLocationDomain_638497262836229470" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DerivativesAssetsCurrentMember" xlink:label="csiq_DerivativesAssetsCurrentMember_638497262836239482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638497262836229470" xlink:to="csiq_DerivativesAssetsCurrentMember_638497262836239482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncurrentAssetsMember" xlink:label="us-gaap_OtherNoncurrentAssetsMember_638497262836239482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638497262836229470" xlink:to="us-gaap_OtherNoncurrentAssetsMember_638497262836239482" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DerivativesLiabilitiesCurrentMember" xlink:label="csiq_DerivativesLiabilitiesCurrentMember_638497262836239482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638497262836229470" xlink:to="csiq_DerivativesLiabilitiesCurrentMember_638497262836239482" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNoncurrentLiabilitiesMember" xlink:label="us-gaap_OtherNoncurrentLiabilitiesMember_638497262836239482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638497262836229470" xlink:to="us-gaap_OtherNoncurrentLiabilitiesMember_638497262836239482" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis_638497262836239482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638497262836229470" xlink:to="us-gaap_HedgingDesignationAxis_638497262836239482" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_638497262836239482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis_638497262836239482" xlink:to="us-gaap_HedgingDesignationDomain_638497262836239482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NondesignatedMember" xlink:label="us-gaap_NondesignatedMember_638497262836239482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationDomain_638497262836239482" xlink:to="us-gaap_NondesignatedMember_638497262836239482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_638497262836239482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638497262836229470" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_638497262836239482" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_638497262836239482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_638497262836239482" xlink:to="us-gaap_DerivativeContractTypeDomain_638497262836239482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember_638497262836249472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638497262836239482" xlink:to="us-gaap_ForeignExchangeForwardMember_638497262836249472" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember_638497262836249472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638497262836239482" xlink:to="us-gaap_ForeignExchangeOptionMember_638497262836249472" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommodityContractMember" xlink:label="us-gaap_CommodityContractMember_638497262836249472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638497262836239482" xlink:to="us-gaap_CommodityContractMember_638497262836249472" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestRateSwapMember" xlink:label="us-gaap_InterestRateSwapMember_638497262836249472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638497262836239482" xlink:to="us-gaap_InterestRateSwapMember_638497262836249472" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems_638497262836249472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638497262836229470" xlink:to="us-gaap_DerivativesFairValueLineItems_638497262836249472" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_638497262836249472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativesFairValueLineItems_638497262836249472" xlink:to="us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral_638497262836249472" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral" xlink:label="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_638497262836259486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativesFairValueLineItems_638497262836249472" xlink:to="us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral_638497262836259486" 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="40902 - 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/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_638497262836259486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="FairValueDisclosuresAbstract" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_638497262836259486" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_638497262836259486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_638497262836259486" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_638497262836259486" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_638497262836259486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_638497262836259486" xlink:to="us-gaap_DerivativeContractTypeDomain_638497262836259486" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember_638497262836259486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638497262836259486" xlink:to="us-gaap_ForeignExchangeForwardMember_638497262836259486" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignExchangeOptionMember" xlink:label="us-gaap_ForeignExchangeOptionMember_638497262836259486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638497262836259486" xlink:to="us-gaap_ForeignExchangeOptionMember_638497262836259486" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommodityContractMember" xlink:label="us-gaap_CommodityContractMember_638497262836269484" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638497262836259486" xlink:to="us-gaap_CommodityContractMember_638497262836269484" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_638497262836269484" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_638497262836259486" xlink:to="us-gaap_DerivativeInstrumentsGainLossLineItems_638497262836269484" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet" xlink:label="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_638497262836269484" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems_638497262836269484" xlink:to="us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet_638497262836269484" 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="40903 - 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/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesCurrent" xlink:label="us-gaap_MarketableSecuritiesCurrent_638497262836269484" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract_1" xlink:to="us-gaap_MarketableSecuritiesCurrent_638497262836269484" 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/2023/elts/us-gaap-2023.xsd#us-gaap_MarketableSecuritiesUnrealizedGainLoss" xlink:label="us-gaap_MarketableSecuritiesUnrealizedGainLoss_638497262836269484" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract_1" xlink:to="us-gaap_MarketableSecuritiesUnrealizedGainLoss_638497262836269484" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLongTermInvestments" xlink:label="us-gaap_OtherLongTermInvestments_638497262836279486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract_1" xlink:to="us-gaap_OtherLongTermInvestments_638497262836279486" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquitySecuritiesFvNiUnrealizedGain" xlink:label="us-gaap_EquitySecuritiesFvNiUnrealizedGain_638497262836279486" />
    <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_638497262836279486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_638497262836279486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract_1" xlink:to="us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_638497262836279486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_638497262836279486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract_1" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_638497262836279486" order="6" 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="40904 - 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/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_638497262836279486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_AssetImpairmentCharges_638497262836279486" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_638497262836279486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="csiq_ProjectAssetsImpairmentCharge_638497262836279486" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638497262836289480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_LongTermNotesAndLoans_638497262836289480" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtNoncurrent" xlink:label="us-gaap_ConvertibleDebtNoncurrent_638497262836289480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_ConvertibleDebtNoncurrent_638497262836289480" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </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/2023/elts/us-gaap-2023.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfVariableInterestEntitiesTable" xlink:label="us-gaap_ScheduleOfVariableInterestEntitiesTable_638497262836289480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract" xlink:to="us-gaap_ScheduleOfVariableInterestEntitiesTable_638497262836289480" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638497262836289480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTable_638497262836289480" xlink:to="srt_ConsolidatedEntitiesAxis_638497262836289480" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638497262836289480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638497262836289480" xlink:to="srt_ConsolidatedEntitiesDomain_638497262836289480" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableInterestEntityPrimaryBeneficiaryMember" xlink:label="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_638497262836289480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638497262836289480" xlink:to="us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_638497262836289480" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableInterestEntityLineItems" xlink:label="us-gaap_VariableInterestEntityLineItems_638497262836289480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfVariableInterestEntitiesTable_638497262836289480" xlink:to="us-gaap_VariableInterestEntityLineItems_638497262836289480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash_638497262836289480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638497262836289480" xlink:to="us-gaap_Cash_638497262836289480" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssets" xlink:label="csiq_ProjectAssets_638497262836299486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638497262836289480" xlink:to="csiq_ProjectAssets_638497262836299486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssets" xlink:label="us-gaap_OtherAssets_638497262836299486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638497262836289480" xlink:to="us-gaap_OtherAssets_638497262836299486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638497262836299486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638497262836289480" xlink:to="us-gaap_Assets_638497262836299486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638497262836299486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638497262836289480" xlink:to="us-gaap_ShortTermBorrowings_638497262836299486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_638497262836299486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638497262836289480" xlink:to="us-gaap_LongTermDebt_638497262836299486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities_638497262836299486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638497262836289480" xlink:to="us-gaap_OtherLiabilities_638497262836299486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638497262836299486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableInterestEntityLineItems_638497262836289480" xlink:to="us-gaap_Liabilities_638497262836299486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638497262836389479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638497262836389479" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638497262836389479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638497262836389479" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638497262836389479" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_638497262836389479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638497262836389479" xlink:to="srt_EquityMethodInvesteeNameDomain_638497262836389479" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember" xlink:label="csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_638497262836389479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836389479" xlink:to="csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_638497262836389479" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_MarangatuHoldingS.aMember" xlink:label="csiq_MarangatuHoldingS.aMember_638497262836389479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836389479" xlink:to="csiq_MarangatuHoldingS.aMember_638497262836389479" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SuzhouFinancialLeasingCo.Ltd.Member" xlink:label="csiq_SuzhouFinancialLeasingCo.Ltd.Member_638497262836389479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836389479" xlink:to="csiq_SuzhouFinancialLeasingCo.Ltd.Member_638497262836389479" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PanatiHoldingS.a.Member" xlink:label="csiq_PanatiHoldingS.a.Member_638497262836389479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836389479" xlink:to="csiq_PanatiHoldingS.a.Member_638497262836389479" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember_638497262836399492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836389479" xlink:to="csiq_ReCrimsonHoldingsLlcMember_638497262836399492" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LavraSolarHoldingS.a.Member" xlink:label="csiq_LavraSolarHoldingS.a.Member_638497262836399492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836389479" xlink:to="csiq_LavraSolarHoldingS.a.Member_638497262836399492" order="6" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_638497262836399492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836389479" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_638497262836399492" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_FranciscoSaSolarHoldingS.a.Member" xlink:label="csiq_FranciscoSaSolarHoldingS.a.Member_638497262836399492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836389479" xlink:to="csiq_FranciscoSaSolarHoldingS.a.Member_638497262836399492" order="8" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember" xlink:label="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_638497262836399492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836389479" xlink:to="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_638497262836399492" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SalgueiroSolarHoldingS.aMember" xlink:label="csiq_SalgueiroSolarHoldingS.aMember_638497262836399492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836389479" xlink:to="csiq_SalgueiroSolarHoldingS.aMember_638497262836399492" order="10" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_JushengSuzhouSolarTechCo.LtdMember" xlink:label="csiq_JushengSuzhouSolarTechCo.LtdMember_638497262836399492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836389479" xlink:to="csiq_JushengSuzhouSolarTechCo.LtdMember_638497262836399492" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_JaibaSolarHoldingS.a.Member" xlink:label="csiq_JaibaSolarHoldingS.a.Member_638497262836399492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836389479" xlink:to="csiq_JaibaSolarHoldingS.a.Member_638497262836399492" order="12" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OtherEquityMethodInvesteesMember" xlink:label="csiq_OtherEquityMethodInvesteesMember_638497262836399492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836389479" xlink:to="csiq_OtherEquityMethodInvesteesMember_638497262836399492" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638497262836399492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638497262836389479" xlink:to="srt_RangeAxis_638497262836399492" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638497262836409473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638497262836399492" xlink:to="srt_RangeMember_638497262836409473" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638497262836409473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262836409473" xlink:to="srt_MinimumMember_638497262836409473" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638497262836409473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262836409473" xlink:to="srt_MaximumMember_638497262836409473" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638497262836409473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638497262836389479" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638497262836409473" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestments" xlink:label="us-gaap_EquityMethodInvestments_638497262836409473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638497262836409473" xlink:to="us-gaap_EquityMethodInvestments_638497262836409473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_638497262836409473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638497262836409473" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_638497262836409473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:label="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638497262836419478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638497262836419478" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638497262836419478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638497262836419478" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638497262836419478" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_638497262836419478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638497262836419478" xlink:to="srt_EquityMethodInvesteeNameDomain_638497262836419478" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SuzhouFinancialLeasingCo.Ltd.Member" xlink:label="csiq_SuzhouFinancialLeasingCo.Ltd.Member_638497262836419478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836419478" xlink:to="csiq_SuzhouFinancialLeasingCo.Ltd.Member_638497262836419478" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_638497262836419478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836419478" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_638497262836419478" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LavraSolarHoldingS.a.Member" xlink:label="csiq_LavraSolarHoldingS.a.Member_638497262836419478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836419478" xlink:to="csiq_LavraSolarHoldingS.a.Member_638497262836419478" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_FranciscoSaSolarHoldingS.a.Member" xlink:label="csiq_FranciscoSaSolarHoldingS.a.Member_638497262836419478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836419478" xlink:to="csiq_FranciscoSaSolarHoldingS.a.Member_638497262836419478" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SalgueiroSolarHoldingS.aMember" xlink:label="csiq_SalgueiroSolarHoldingS.aMember_638497262836419478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836419478" xlink:to="csiq_SalgueiroSolarHoldingS.aMember_638497262836419478" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_JaibaSolarHoldingS.a.Member" xlink:label="csiq_JaibaSolarHoldingS.a.Member_638497262836419478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836419478" xlink:to="csiq_JaibaSolarHoldingS.a.Member_638497262836419478" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember" xlink:label="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_638497262836429482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836419478" xlink:to="csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_638497262836429482" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember_638497262836429482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836419478" xlink:to="csiq_ReCrimsonHoldingsLlcMember_638497262836429482" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_JushengSuzhouSolarTechCo.LtdMember" xlink:label="csiq_JushengSuzhouSolarTechCo.LtdMember_638497262836429482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836419478" xlink:to="csiq_JushengSuzhouSolarTechCo.LtdMember_638497262836429482" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638497262836429482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836419478" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638497262836429482" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember" xlink:label="csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_638497262836429482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836419478" xlink:to="csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_638497262836429482" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member" xlink:label="csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member_638497262836429482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836419478" xlink:to="csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member_638497262836429482" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_MarangatuHoldingS.aMember" xlink:label="csiq_MarangatuHoldingS.aMember_638497262836429482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836419478" xlink:to="csiq_MarangatuHoldingS.aMember_638497262836429482" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PanatiHoldingS.a.Member" xlink:label="csiq_PanatiHoldingS.a.Member_638497262836429482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262836419478" xlink:to="csiq_PanatiHoldingS.a.Member_638497262836429482" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638497262836429482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638497262836419478" xlink:to="dei_LegalEntityAxis_638497262836429482" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638497262836429482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638497262836429482" xlink:to="dei_EntityDomain_638497262836429482" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_638497262836439471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836429482" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_638497262836439471" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarCoLtdMember" xlink:label="csiq_CsiSolarCoLtdMember_638497262836439471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836429482" xlink:to="csiq_CsiSolarCoLtdMember_638497262836439471" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:label="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638497262836439471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsTable_638497262836419478" xlink:to="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638497262836439471" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_638497262836439471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638497262836439471" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_638497262836439471" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity" xlink:label="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity_638497262836439471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638497262836439471" xlink:to="csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity_638497262836439471" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NumberOfBoardMembers" xlink:label="csiq_NumberOfBoardMembers_638497262836439471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638497262836439471" xlink:to="csiq_NumberOfBoardMembers_638497262836439471" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NumberOfUnitsHeldAsInvestments" xlink:label="csiq_NumberOfUnitsHeldAsInvestments_638497262836439471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638497262836439471" xlink:to="csiq_NumberOfUnitsHeldAsInvestments_638497262836439471" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EquityMethodInvestmentOwnershipPercentageSold" xlink:label="csiq_EquityMethodInvestmentOwnershipPercentageSold_638497262836439471" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638497262836439471" xlink:to="csiq_EquityMethodInvestmentOwnershipPercentageSold_638497262836439471" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal" xlink:label="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638497262836449470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638497262836439471" xlink:to="us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal_638497262836449470" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DecreaseOfNetAssets" xlink:label="csiq_DecreaseOfNetAssets_638497262836449470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638497262836439471" xlink:to="csiq_DecreaseOfNetAssets_638497262836449470" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromEquityMethodInvestments_638497262836449470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_638497262836439471" xlink:to="us-gaap_IncomeLossFromEquityMethodInvestments_638497262836449470" order="8" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable_638497262836459490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeLeaseDescriptionTable_638497262836459490" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638497262836459490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638497262836459490" xlink:to="srt_RangeAxis_638497262836459490" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638497262836459490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638497262836459490" xlink:to="srt_RangeMember_638497262836459490" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638497262836459490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262836459490" xlink:to="srt_MaximumMember_638497262836459490" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_638497262836459490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638497262836459490" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_638497262836459490" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCostAbstract" xlink:label="us-gaap_LeaseCostAbstract_638497262836459490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638497262836459490" xlink:to="us-gaap_LeaseCostAbstract_638497262836459490" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_638497262836459490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_638497262836459490" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_638497262836459490" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense_638497262836459490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_638497262836459490" xlink:to="us-gaap_FinanceLeaseInterestExpense_638497262836459490" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost_638497262836469485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_638497262836459490" xlink:to="us-gaap_OperatingLeaseCost_638497262836469485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost_638497262836469485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_638497262836459490" xlink:to="us-gaap_ShortTermLeaseCost_638497262836469485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost_638497262836469485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeaseCostAbstract_638497262836459490" xlink:to="us-gaap_LeaseCost_638497262836469485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_638497262836469485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638497262836459490" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract_638497262836469485" order="2" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract_1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AssetsLesseeAbstract" xlink:label="csiq_AssetsLesseeAbstract_638497262836469485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract_1" xlink:to="csiq_AssetsLesseeAbstract_638497262836469485" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights" xlink:label="csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights_638497262836469485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AssetsLesseeAbstract_638497262836469485" xlink:to="csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights_638497262836469485" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LandUseRightsNet" xlink:label="csiq_LandUseRightsNet_638497262836469485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AssetsLesseeAbstract_638497262836469485" xlink:to="csiq_LandUseRightsNet_638497262836469485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638497262836479481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AssetsLesseeAbstract_638497262836469485" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638497262836479481" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAsset" xlink:label="us-gaap_FinanceLeaseRightOfUseAsset_638497262836479481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AssetsLesseeAbstract_638497262836469485" xlink:to="us-gaap_FinanceLeaseRightOfUseAsset_638497262836479481" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList_638497262836479481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseRightOfUseAsset_638497262836479481" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList_638497262836479481" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LiabilitiesLesseeAbstract" xlink:label="csiq_LiabilitiesLesseeAbstract_638497262836479481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract_1" xlink:to="csiq_LiabilitiesLesseeAbstract_638497262836479481" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638497262836479481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_LiabilitiesLesseeAbstract_638497262836479481" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638497262836479481" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638497262836479481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_LiabilitiesLesseeAbstract_638497262836479481" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638497262836479481" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638497262836479481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_LiabilitiesLesseeAbstract_638497262836479481" xlink:to="us-gaap_OperatingLeaseLiability_638497262836479481" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_638497262836479481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_LiabilitiesLesseeAbstract_638497262836479481" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_638497262836479481" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_638497262836479481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilityCurrent_638497262836479481" xlink:to="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_638497262836479481" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_638497262836479481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_LiabilitiesLesseeAbstract_638497262836479481" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_638497262836479481" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_638497262836489475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilityNoncurrent_638497262836479481" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_638497262836489475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability_638497262836489475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_LiabilitiesLesseeAbstract_638497262836479481" xlink:to="us-gaap_FinanceLeaseLiability_638497262836489475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseInterestPaymentOnLiability" xlink:label="us-gaap_FinanceLeaseInterestPaymentOnLiability_638497262836489475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseInterestPaymentOnLiability_638497262836489475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments_638497262836489475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeasePayments_638497262836489475" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PaymentsForFinancingCashFlowsFromFinanceLease" xlink:label="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_638497262836499485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_PaymentsForFinancingCashFlowsFromFinanceLease_638497262836499485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_638497262836499485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_638497262836499485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_638497262836499485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability_638497262836499485" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction" xlink:label="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction_638497262836499485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction_638497262836499485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_638497262836509482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1_638497262836509482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638497262836509482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638497262836509482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_638497262836509482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent_638497262836509482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638497262836509482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638497262836509482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638497262836509482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638497262836509482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638497262836519479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638497262836519479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638497262836519479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638497262836519479" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638497262836519479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638497262836519479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638497262836519479" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638497262836519479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_6384972628365194791" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638497262836519479" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_6384972628365194791" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638497262836529470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638497262836519479" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638497262836529470" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638497262836529470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638497262836519479" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638497262836529470" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638497262836529470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638497262836519479" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_638497262836529470" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638497262836529470" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_638497262836519479" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638497262836529470" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract" xlink:label="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_638497262836539577" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_638497262836539577" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638497262836539577" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_638497262836539577" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638497262836539577" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638497262836539577" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract_638497262836539577" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638497262836539577" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
  </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/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638497262836549480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638497262836549480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638497262836549480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638497262836549480" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths_638497262836549480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638497262836549480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638497262836549480" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo_638497262836549480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638497262836549480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638497262836549480" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree_638497262836549480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_638497262836549480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638497262836549480" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour_638497262836549480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_638497262836549480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638497262836549480" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive_638497262836549480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_638497262836549480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638497262836549480" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive_638497262836549480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_638497262836549480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638497262836549480" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_638497262836549480" order="7" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract" xlink:label="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638497262836559488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638497262836559488" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityPaymentsDue" xlink:label="us-gaap_FinanceLeaseLiabilityPaymentsDue_638497262836559488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638497262836559488" xlink:to="us-gaap_FinanceLeaseLiabilityPaymentsDue_638497262836559488" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_638497262836559488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638497262836559488" xlink:to="us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount_638497262836559488" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability_638497262836559488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract_638497262836559488" xlink:to="us-gaap_FinanceLeaseLiability_638497262836559488" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList_638497262836559488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FinanceLeaseLiability_638497262836559488" xlink:to="us-gaap_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList_638497262836559488" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityPaymentsDueNextTwelveMonths" xlink:label="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_638497262836569480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueNextTwelveMonths_638497262836569480" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityPaymentsDueYearTwo" xlink:label="csiq_LesseeLiabilityPaymentsDueYearTwo_638497262836569480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearTwo_638497262836569480" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityPaymentsDueYearThree" xlink:label="csiq_LesseeLiabilityPaymentsDueYearThree_638497262836569480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearThree_638497262836569480" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityPaymentsDueYearFour" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFour_638497262836569480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFour_638497262836569480" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityPaymentsDueYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueYearFive_638497262836569480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueYearFive_638497262836569480" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityPaymentsDueAfterYearFive" xlink:label="csiq_LesseeLiabilityPaymentsDueAfterYearFive_638497262836569480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDueAfterYearFive_638497262836569480" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue_638497262836569480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDue_638497262836569480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityPaymentsDue" xlink:label="csiq_LesseeLiabilityPaymentsDue_638497262836579482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityPaymentsDue_638497262836579482" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LesseeLiabilityUndiscountedExcessAmount" xlink:label="csiq_LesseeLiabilityUndiscountedExcessAmount_638497262836579482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LesseeLiabilityUndiscountedExcessAmount_638497262836579482" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability_638497262836579482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="csiq_LeaseLiability_638497262836579482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAndLiabilitiesLesseeAbstract" xlink:label="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638497262836579482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638497262836579482" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LeaseLiabilityCurrent" xlink:label="csiq_LeaseLiabilityCurrent_638497262836579482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638497262836579482" xlink:to="csiq_LeaseLiabilityCurrent_638497262836579482" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LeaseLiabilityNoncurrent" xlink:label="csiq_LeaseLiabilityNoncurrent_638497262836579482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638497262836579482" xlink:to="csiq_LeaseLiabilityNoncurrent_638497262836579482" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LeaseLiability" xlink:label="csiq_LeaseLiability_638497262836579482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638497262836579482" xlink:to="csiq_LeaseLiability_638497262836579482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638497262836589480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638497262836579482" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638497262836589480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638497262836589480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638497262836579482" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638497262836589480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638497262836589480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638497262836579482" xlink:to="us-gaap_OperatingLeaseLiability_638497262836589480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrent" xlink:label="us-gaap_FinanceLeaseLiabilityCurrent_638497262836589480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638497262836579482" xlink:to="us-gaap_FinanceLeaseLiabilityCurrent_638497262836589480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_638497262836589480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638497262836579482" xlink:to="us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList_638497262836589480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrent" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrent_638497262836589480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638497262836579482" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrent_638497262836589480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList" xlink:label="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_638497262836589480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638497262836579482" xlink:to="us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList_638497262836589480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FinanceLeaseLiability" xlink:label="us-gaap_FinanceLeaseLiability_638497262836589480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAndLiabilitiesLesseeAbstract_638497262836579482" xlink:to="us-gaap_FinanceLeaseLiability_638497262836589480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638497262836599477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable_638497262836599477" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_638497262836599477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638497262836599477" xlink:to="us-gaap_CreditFacilityAxis_638497262836599477" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_638497262836599477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis_638497262836599477" xlink:to="us-gaap_CreditFacilityDomain_638497262836599477" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_UnsecuredCreditFacilityMember" xlink:label="csiq_UnsecuredCreditFacilityMember_638497262836599477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638497262836599477" xlink:to="csiq_UnsecuredCreditFacilityMember_638497262836599477" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember_638497262836599477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638497262836599477" xlink:to="us-gaap_LineOfCreditMember_638497262836599477" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NonBindingLineOfCreditMember" xlink:label="csiq_NonBindingLineOfCreditMember_638497262836599477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638497262836599477" xlink:to="csiq_NonBindingLineOfCreditMember_638497262836599477" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ShortTermNotePayableMember" xlink:label="csiq_ShortTermNotePayableMember_638497262836599477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638497262836599477" xlink:to="csiq_ShortTermNotePayableMember_638497262836599477" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonrecourseMember" xlink:label="us-gaap_NonrecourseMember_638497262836609478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638497262836599477" xlink:to="us-gaap_NonrecourseMember_638497262836609478" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_TermLoanMember" xlink:label="csiq_TermLoanMember_638497262836609478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638497262836599477" xlink:to="csiq_TermLoanMember_638497262836609478" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember_638497262836609478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638497262836599477" xlink:to="us-gaap_RevolvingCreditFacilityMember_638497262836609478" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SecuredCreditFacilityMember" xlink:label="csiq_SecuredCreditFacilityMember_638497262836609478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638497262836599477" xlink:to="csiq_SecuredCreditFacilityMember_638497262836609478" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_FinancingFacilityMember" xlink:label="csiq_FinancingFacilityMember_638497262836609478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638497262836599477" xlink:to="csiq_FinancingFacilityMember_638497262836609478" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NonRecourseProjectBondsMember" xlink:label="csiq_NonRecourseProjectBondsMember_638497262836609478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_FinancingFacilityMember_638497262836609478" xlink:to="csiq_NonRecourseProjectBondsMember_638497262836609478" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NonRecourseProjectFinanceFacilityMember" xlink:label="csiq_NonRecourseProjectFinanceFacilityMember_638497262836609478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_FinancingFacilityMember_638497262836609478" xlink:to="csiq_NonRecourseProjectFinanceFacilityMember_638497262836609478" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_TermLoanFacilityTwoMember" xlink:label="csiq_TermLoanFacilityTwoMember_638497262836609478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638497262836599477" xlink:to="csiq_TermLoanFacilityTwoMember_638497262836609478" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_638497262836609478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638497262836599477" xlink:to="srt_CounterpartyNameAxis_638497262836609478" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_638497262836609478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis_638497262836609478" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_638497262836609478" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_BankBorrowingsMember" xlink:label="csiq_BankBorrowingsMember_638497262836619472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262836609478" xlink:to="csiq_BankBorrowingsMember_638497262836619472" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638497262836619472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638497262836599477" xlink:to="dei_LegalEntityAxis_638497262836619472" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638497262836619472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638497262836619472" xlink:to="dei_EntityDomain_638497262836619472" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_RecurrentEnergyLlcMember" xlink:label="csiq_RecurrentEnergyLlcMember_638497262836619472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836619472" xlink:to="csiq_RecurrentEnergyLlcMember_638497262836619472" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member" xlink:label="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_638497262836619472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836619472" xlink:to="csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_638497262836619472" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarSpainSociedadLimitadaMember" xlink:label="csiq_CanadianSolarSpainSociedadLimitadaMember_638497262836619472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836619472" xlink:to="csiq_CanadianSolarSpainSociedadLimitadaMember_638497262836619472" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarSunenergyJiaxingCo.LtdMember" xlink:label="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_638497262836619472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836619472" xlink:to="csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_638497262836619472" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarProjectKKMember" xlink:label="csiq_CanadianSolarProjectKKMember_638497262836629493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836619472" xlink:to="csiq_CanadianSolarProjectKKMember_638497262836629493" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SunmexRenovablesS.a.DeC.v.Member" xlink:label="csiq_SunmexRenovablesS.a.DeC.v.Member_638497262836629493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836619472" xlink:to="csiq_SunmexRenovablesS.a.DeC.v.Member_638497262836629493" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarNetherlandCooperativeUaMember" xlink:label="csiq_CanadianSolarNetherlandCooperativeUaMember_638497262836629493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836619472" xlink:to="csiq_CanadianSolarNetherlandCooperativeUaMember_638497262836629493" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarTechnologyXiningCoLtdMember" xlink:label="csiq_CsiSolarTechnologyXiningCoLtdMember_638497262836629493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836619472" xlink:to="csiq_CsiSolarTechnologyXiningCoLtdMember_638497262836629493" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiCellsSuqianCoLtdMember" xlink:label="csiq_CsiCellsSuqianCoLtdMember_638497262836629493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836619472" xlink:to="csiq_CsiCellsSuqianCoLtdMember_638497262836629493" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarCoLtdMember" xlink:label="csiq_CsiSolarCoLtdMember_638497262836629493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836619472" xlink:to="csiq_CsiSolarCoLtdMember_638497262836629493" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_BrazilianSubsidiariesMember" xlink:label="csiq_BrazilianSubsidiariesMember_638497262836639477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836619472" xlink:to="csiq_BrazilianSubsidiariesMember_638497262836639477" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiCellsYangzhouCoLtdMember" xlink:label="csiq_CsiCellsYangzhouCoLtdMember_638497262836639477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836619472" xlink:to="csiq_CsiCellsYangzhouCoLtdMember_638497262836639477" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_Aurora01GkMember" xlink:label="csiq_Aurora01GkMember_638497262836639477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836619472" xlink:to="csiq_Aurora01GkMember_638497262836639477" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_638497262836639477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638497262836599477" xlink:to="us-gaap_DebtInstrumentAxis_638497262836639477" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_638497262836639477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentAxis_638497262836639477" xlink:to="us-gaap_DebtInstrumentNameDomain_638497262836639477" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LoanFacilityMember" xlink:label="csiq_LoanFacilityMember_638497262836639477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638497262836639477" xlink:to="csiq_LoanFacilityMember_638497262836639477" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_Tranche1LoanFacilityMember" xlink:label="csiq_Tranche1LoanFacilityMember_638497262836649475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638497262836639477" xlink:to="csiq_Tranche1LoanFacilityMember_638497262836649475" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_Tranche2LoanFacilityMember" xlink:label="csiq_Tranche2LoanFacilityMember_638497262836649475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638497262836639477" xlink:to="csiq_Tranche2LoanFacilityMember_638497262836649475" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_GreenBondsMember" xlink:label="csiq_GreenBondsMember_638497262836649475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentNameDomain_638497262836639477" xlink:to="csiq_GreenBondsMember_638497262836649475" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_638497262836649475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638497262836599477" xlink:to="us-gaap_LongtermDebtTypeAxis_638497262836649475" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_638497262836649475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_638497262836649475" xlink:to="us-gaap_LongtermDebtTypeDomain_638497262836649475" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnsecuredDebtMember" xlink:label="us-gaap_UnsecuredDebtMember_638497262836659491" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638497262836649475" xlink:to="us-gaap_UnsecuredDebtMember_638497262836659491" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DebtSecuredByPropertyPlantAndEquipmentMember" xlink:label="csiq_DebtSecuredByPropertyPlantAndEquipmentMember_638497262836659491" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638497262836649475" xlink:to="csiq_DebtSecuredByPropertyPlantAndEquipmentMember_638497262836659491" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtMember" xlink:label="us-gaap_ConvertibleDebtMember_638497262836659491" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638497262836649475" xlink:to="us-gaap_ConvertibleDebtMember_638497262836659491" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PledgedStatusAxis" xlink:label="us-gaap_PledgedStatusAxis_638497262836659491" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638497262836599477" xlink:to="us-gaap_PledgedStatusAxis_638497262836659491" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PledgedStatusDomain" xlink:label="us-gaap_PledgedStatusDomain_638497262836659491" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PledgedStatusAxis_638497262836659491" xlink:to="us-gaap_PledgedStatusDomain_638497262836659491" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetPledgedAsCollateralWithoutRightMember" xlink:label="us-gaap_AssetPledgedAsCollateralWithoutRightMember_638497262836669478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PledgedStatusDomain_638497262836659491" xlink:to="us-gaap_AssetPledgedAsCollateralWithoutRightMember_638497262836669478" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis" xlink:label="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_638497262836669478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638497262836599477" xlink:to="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_638497262836669478" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProjectMember" xlink:label="us-gaap_ProjectMember_638497262836669478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_638497262836669478" xlink:to="us-gaap_ProjectMember_638497262836669478" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarProjectMember" xlink:label="csiq_SolarProjectMember_638497262836669478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ProjectMember_638497262836669478" xlink:to="csiq_SolarProjectMember_638497262836669478" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638497262836679476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638497262836599477" xlink:to="srt_RangeAxis_638497262836679476" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638497262836679476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638497262836679476" xlink:to="srt_RangeMember_638497262836679476" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638497262836679476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262836679476" xlink:to="srt_MinimumMember_638497262836679476" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638497262836679476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262836679476" xlink:to="srt_MaximumMember_638497262836679476" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638497262836679476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638497262836599477" xlink:to="us-gaap_DebtInstrumentLineItems_638497262836679476" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638497262836689473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638497262836689473" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ShortTermBorrowingsOnProjectAssets" xlink:label="csiq_ShortTermBorrowingsOnProjectAssets_638497262836689473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638497262836689473" xlink:to="csiq_ShortTermBorrowingsOnProjectAssets_638497262836689473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherShortTermBorrowings" xlink:label="us-gaap_OtherShortTermBorrowings_638497262836689473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638497262836689473" xlink:to="us-gaap_OtherShortTermBorrowings_638497262836689473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtCurrent" xlink:label="us-gaap_DebtCurrent_638497262836689473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638497262836689473" xlink:to="us-gaap_DebtCurrent_638497262836689473" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LongTermBorrowingsOnProjectAssets" xlink:label="csiq_LongTermBorrowingsOnProjectAssets_638497262836699475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638497262836689473" xlink:to="csiq_LongTermBorrowingsOnProjectAssets_638497262836699475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLongTermDebt" xlink:label="us-gaap_OtherLongTermDebt_638497262836699475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638497262836689473" xlink:to="us-gaap_OtherLongTermDebt_638497262836699475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermNotesAndLoans" xlink:label="us-gaap_LongTermNotesAndLoans_638497262836699475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638497262836689473" xlink:to="us-gaap_LongTermNotesAndLoans_638497262836699475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_638497262836699475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638497262836689473" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount_638497262836699475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredDebt" xlink:label="us-gaap_SecuredDebt_638497262836709475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract_638497262836689473" xlink:to="us-gaap_SecuredDebt_638497262836709475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638497262836709475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638497262836709475" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AdditionalAmountDrawnOfUnderBorrowing" xlink:label="csiq_AdditionalAmountDrawnOfUnderBorrowing_638497262836709475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="csiq_AdditionalAmountDrawnOfUnderBorrowing_638497262836709475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_638497262836709475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_638497262836709475" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfDebt" xlink:label="us-gaap_ProceedsFromIssuanceOfDebt_638497262836719481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="us-gaap_ProceedsFromIssuanceOfDebt_638497262836719481" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromLinesOfCredit" xlink:label="us-gaap_ProceedsFromLinesOfCredit_638497262836719481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="us-gaap_ProceedsFromLinesOfCredit_638497262836719481" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_638497262836719481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment_638497262836719481" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PledgedAssetsNotSeparatelyReportedInventory" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedInventory_638497262836719481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedInventory_638497262836719481" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PledgedAssetsNotSeparatelyReportedLandUseRights" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedLandUseRights_638497262836729473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedLandUseRights_638497262836729473" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_638497262836729473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash_638497262836729473" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_638497262836729473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable_638497262836729473" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PledgedEquityNotSeparatelyReported" xlink:label="csiq_PledgedEquityNotSeparatelyReported_638497262836729473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="csiq_PledgedEquityNotSeparatelyReported_638497262836729473" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PledgedAssetsNotSeparatelyReportedProjectAssets" xlink:label="csiq_PledgedAssetsNotSeparatelyReportedProjectAssets_638497262836739475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="csiq_PledgedAssetsNotSeparatelyReportedProjectAssets_638497262836739475" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PledgedAssetsSolarPowerSystems" xlink:label="csiq_PledgedAssetsSolarPowerSystems_638497262836739475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="csiq_PledgedAssetsSolarPowerSystems_638497262836739475" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SecuredShortTermDebt" xlink:label="csiq_SecuredShortTermDebt_638497262836739475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="csiq_SecuredShortTermDebt_638497262836739475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTerm" xlink:label="us-gaap_DebtInstrumentTerm_638497262836739475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="us-gaap_DebtInstrumentTerm_638497262836739475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentFaceAmount" xlink:label="us-gaap_DebtInstrumentFaceAmount_638497262836749560" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="us-gaap_DebtInstrumentFaceAmount_638497262836749560" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NumberOfOtherParticipatingFinancialInstitutions" xlink:label="csiq_NumberOfOtherParticipatingFinancialInstitutions_638497262836749560" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="csiq_NumberOfOtherParticipatingFinancialInstitutions_638497262836749560" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtLongtermAndShorttermCombinedAmount" xlink:label="us-gaap_DebtLongtermAndShorttermCombinedAmount_638497262836749560" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="us-gaap_DebtLongtermAndShorttermCombinedAmount_638497262836749560" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit_638497262836759489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="us-gaap_LineOfCredit_638497262836759489" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AmountOfDevelopmentLoan" xlink:label="csiq_AmountOfDevelopmentLoan_638497262836759489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="csiq_AmountOfDevelopmentLoan_638497262836759489" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_TotalAmountOfMatures" xlink:label="csiq_TotalAmountOfMatures_638497262836759489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="csiq_TotalAmountOfMatures_638497262836759489" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredLongTermDebt" xlink:label="us-gaap_SecuredLongTermDebt_638497262836769479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="us-gaap_SecuredLongTermDebt_638497262836769479" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherBorrowings" xlink:label="us-gaap_OtherBorrowings_638497262836769479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="us-gaap_OtherBorrowings_638497262836769479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtWeightedAverageInterestRateOverTime" xlink:label="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_638497262836769479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="us-gaap_LongTermDebtWeightedAverageInterestRateOverTime_638497262836769479" order="25" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638497262836779475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638497262836779475" order="26" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_638497262836779475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836679476" xlink:to="us-gaap_LongTermDebt_638497262836779475" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract_635942437309799352" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtByMaturityAbstract" xlink:label="us-gaap_LongTermDebtByMaturityAbstract_638497262836789496" />
    <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_638497262836789496" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638497262836789496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638497262836789496" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths_638497262836789496" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638497262836789496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638497262836789496" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo_638497262836789496" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638497262836789496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638497262836789496" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree_638497262836789496" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_638497262836799492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638497262836789496" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour_638497262836799492" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_638497262836799492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638497262836789496" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive_638497262836799492" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive" xlink:label="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_638497262836799492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638497262836789496" xlink:to="us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive_638497262836799492" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebt" xlink:label="us-gaap_LongTermDebt_638497262836799492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtByMaturityAbstract_638497262836789496" xlink:to="us-gaap_LongTermDebt_638497262836799492" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638497262836799492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtInstrumentTable_638497262836799492" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ExtinguishmentOfDebtAxis" xlink:label="us-gaap_ExtinguishmentOfDebtAxis_638497262836799492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638497262836799492" xlink:to="us-gaap_ExtinguishmentOfDebtAxis_638497262836799492" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ExtinguishmentOfDebtTypeDomain" xlink:label="us-gaap_ExtinguishmentOfDebtTypeDomain_638497262836809485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ExtinguishmentOfDebtAxis_638497262836799492" xlink:to="us-gaap_ExtinguishmentOfDebtTypeDomain_638497262836809485" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermDebtMember" xlink:label="us-gaap_ShortTermDebtMember_638497262836809485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ExtinguishmentOfDebtTypeDomain_638497262836809485" xlink:to="us-gaap_ShortTermDebtMember_638497262836809485" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermDebtMember" xlink:label="us-gaap_LongTermDebtMember_638497262836809485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ExtinguishmentOfDebtTypeDomain_638497262836809485" xlink:to="us-gaap_LongTermDebtMember_638497262836809485" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638497262836809485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638497262836799492" xlink:to="us-gaap_DebtInstrumentLineItems_638497262836809485" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DebtInstrumentInterestRateFloatingPercentage" xlink:label="csiq_DebtInstrumentInterestRateFloatingPercentage_638497262836809485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836809485" xlink:to="csiq_DebtInstrumentInterestRateFloatingPercentage_638497262836809485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InterestCostsIncurredAbstract" xlink:label="us-gaap_InterestCostsIncurredAbstract_638497262836809485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836809485" xlink:to="us-gaap_InterestCostsIncurredAbstract_638497262836809485" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InterestCostsCapitalizedProjectAssets" xlink:label="csiq_InterestCostsCapitalizedProjectAssets_638497262836809485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_638497262836809485" xlink:to="csiq_InterestCostsCapitalizedProjectAssets_638497262836809485" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="8" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InterestCostsCapitalizedSolarPowerSystemNet" xlink:label="csiq_InterestCostsCapitalizedSolarPowerSystemNet_638497262836809485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_638497262836809485" xlink:to="csiq_InterestCostsCapitalizedSolarPowerSystemNet_638497262836809485" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InterestCostsCapitalizedPropertyPlantAndEquipment" xlink:label="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_638497262836809485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_638497262836809485" xlink:to="csiq_InterestCostsCapitalizedPropertyPlantAndEquipment_638497262836809485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638497262836809485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_638497262836809485" xlink:to="us-gaap_InterestExpense_638497262836809485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InterestCostsIncurred" xlink:label="us-gaap_InterestCostsIncurred_638497262836819477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InterestCostsIncurredAbstract_638497262836809485" xlink:to="us-gaap_InterestCostsIncurred_638497262836819477" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NotesPayableAbstract" xlink:label="NotesPayableAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ShortTermNotesPayable" xlink:label="csiq_ShortTermNotesPayable_638497262836819477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NotesPayableAbstract" xlink:to="csiq_ShortTermNotesPayable_638497262836819477" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="ProductWarrantiesDisclosuresAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward" xlink:label="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638497262836829485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductWarrantiesDisclosuresAbstract" xlink:to="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638497262836829485" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_638497262836829485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638497262836829485" xlink:to="us-gaap_ProductWarrantyAccrualNoncurrent_638497262836829485" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_638497262836829485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638497262836829485" xlink:to="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_638497262836829485" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments_638497262836829485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638497262836829485" xlink:to="us-gaap_ProductWarrantyAccrualPayments_638497262836829485" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_638497262836829485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638497262836829485" xlink:to="us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_638497262836829485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualNoncurrent" xlink:label="us-gaap_ProductWarrantyAccrualNoncurrent_6384972628368294851" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward_638497262836829485" xlink:to="us-gaap_ProductWarrantyAccrualNoncurrent_6384972628368294851" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:label="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage" xlink:label="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_638497262836829485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:to="csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage_638497262836829485" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638497262836839483" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract" xlink:to="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638497262836839483" 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-20231231.xsd#csiq_ConvertibleNotesDisclosureAbstract" xlink:label="csiq_ConvertibleNotesDisclosureAbstract_635641163295069987" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable_638497262836839483" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_ConvertibleNotesDisclosureAbstract_635641163295069987" xlink:to="us-gaap_DebtInstrumentTable_638497262836839483" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeAxis" xlink:label="us-gaap_LongtermDebtTypeAxis_638497262836839483" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638497262836839483" xlink:to="us-gaap_LongtermDebtTypeAxis_638497262836839483" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongtermDebtTypeDomain" xlink:label="us-gaap_LongtermDebtTypeDomain_638497262836839483" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeAxis_638497262836839483" xlink:to="us-gaap_LongtermDebtTypeDomain_638497262836839483" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleDebtMember" xlink:label="us-gaap_ConvertibleDebtMember_638497262836839483" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongtermDebtTypeDomain_638497262836839483" xlink:to="us-gaap_ConvertibleDebtMember_638497262836839483" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems_638497262836839483" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentTable_638497262836839483" xlink:to="us-gaap_DebtInstrumentLineItems_638497262836839483" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProceedsFromConvertibleDebtInitialIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtInitialIssuance_638497262836839483" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="csiq_ProceedsFromConvertibleDebtInitialIssuance_638497262836839483" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance" xlink:label="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_638497262836849650" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance_638497262836849650" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProceedsFromConvertibleDebtAdditionalIssuance" xlink:label="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_638497262836849650" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="csiq_ProceedsFromConvertibleDebtAdditionalIssuance_638497262836849650" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_638497262836849650" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_638497262836849650" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionRatio1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionRatio1_638497262836849650" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="us-gaap_DebtInstrumentConvertibleConversionRatio1_638497262836849650" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAnnualPrincipalPayment" xlink:label="us-gaap_DebtInstrumentAnnualPrincipalPayment_638497262836849650" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="us-gaap_DebtInstrumentAnnualPrincipalPayment_638497262836849650" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleConversionPrice1" xlink:label="us-gaap_DebtInstrumentConvertibleConversionPrice1_638497262836849650" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="us-gaap_DebtInstrumentConvertibleConversionPrice1_638497262836849650" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_638497262836849650" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger_638497262836849650" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdTradingDays" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_638497262836859478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdTradingDays_638497262836859478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1" xlink:label="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_638497262836859478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1_638497262836859478" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents" xlink:label="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_638497262836859478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents_638497262836859478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleNotesPayableCurrent" xlink:label="us-gaap_ConvertibleNotesPayableCurrent_638497262836859478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="us-gaap_ConvertibleNotesPayableCurrent_638497262836859478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="us-gaap_DeferredFinanceCostsGross_638497262836859478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="us-gaap_DeferredFinanceCostsGross_638497262836859478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:label="us-gaap_DebtInstrumentInterestRateEffectivePercentage_638497262836859478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="us-gaap_DebtInstrumentInterestRateEffectivePercentage_638497262836859478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfFinancingCosts" xlink:label="us-gaap_AmortizationOfFinancingCosts_638497262836859478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="us-gaap_AmortizationOfFinancingCosts_638497262836859478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpenseDebtExcludingAmortization" xlink:label="us-gaap_InterestExpenseDebtExcludingAmortization_638497262836859478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="us-gaap_InterestExpenseDebtExcludingAmortization_638497262836859478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPayableCurrent" xlink:label="us-gaap_InterestPayableCurrent_638497262836869480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DebtInstrumentLineItems_638497262836839483" xlink:to="us-gaap_InterestPayableCurrent_638497262836869480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable_638497262836869480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxContingencyTable_638497262836869480" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_638497262836869480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_638497262836869480" xlink:to="us-gaap_IncomeTaxAuthorityAxis_638497262836869480" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_638497262836869480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis_638497262836869480" xlink:to="us-gaap_IncomeTaxAuthorityDomain_638497262836869480" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="country_CA_638497262836869480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836869480" xlink:to="country_CA_638497262836869480" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US_638497262836869480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836869480" xlink:to="country_US_638497262836869480" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN_638497262836879486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836869480" xlink:to="country_CN_638497262836879486" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP_638497262836879486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836869480" xlink:to="country_JP_638497262836879486" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_SG" xlink:label="country_SG_638497262836879486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836869480" xlink:to="country_SG_638497262836879486" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_BR" xlink:label="country_BR_638497262836879486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836869480" xlink:to="country_BR_638497262836879486" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_TH" xlink:label="country_TH_638497262836879486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836869480" xlink:to="country_TH_638497262836879486" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OtherJurisdictionsMember" xlink:label="csiq_OtherJurisdictionsMember_638497262836879486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836869480" xlink:to="csiq_OtherJurisdictionsMember_638497262836879486" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems_638497262836879486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_638497262836869480" xlink:to="us-gaap_IncomeTaxContingencyLineItems_638497262836879486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638497262836879486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638497262836879486" xlink:to="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638497262836879486" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_638497262836879486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638497262836879486" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_638497262836879486" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638497262836889478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract_638497262836879486" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638497262836889478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638497262836889478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638497262836879486" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638497262836889478" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_638497262836889478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638497262836889478" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_638497262836889478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638497262836889478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638497262836879486" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638497262836889478" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638497262836889478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638497262836889478" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638497262836889478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_638497262836889478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract_638497262836879486" xlink:to="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_638497262836889478" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638497262836889478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract_638497262836889478" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638497262836889478" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="us-gaap_IncomeTaxContingencyTable_638497262836899477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxContingencyTable_638497262836899477" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_638497262836899477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_638497262836899477" xlink:to="us-gaap_IncomeTaxAuthorityAxis_638497262836899477" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_638497262836899477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis_638497262836899477" xlink:to="us-gaap_IncomeTaxAuthorityDomain_638497262836899477" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember_638497262836899477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836899477" xlink:to="us-gaap_DomesticCountryMember_638497262836899477" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US_638497262836899477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836899477" xlink:to="country_US_638497262836899477" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP_638497262836899477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836899477" xlink:to="country_JP_638497262836899477" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_DE" xlink:label="country_DE_638497262836899477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836899477" xlink:to="country_DE_638497262836899477" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_TH" xlink:label="country_TH_638497262836899477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836899477" xlink:to="country_TH_638497262836899477" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_HK" xlink:label="country_HK_638497262836909479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836899477" xlink:to="country_HK_638497262836909479" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_BR" xlink:label="country_BR_638497262836909479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836899477" xlink:to="country_BR_638497262836909479" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638497262836909479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_638497262836899477" xlink:to="dei_LegalEntityAxis_638497262836909479" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638497262836909479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638497262836909479" xlink:to="dei_EntityDomain_638497262836909479" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarSolutionsIncMember" xlink:label="csiq_CanadianSolarSolutionsIncMember_638497262836909479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836909479" xlink:to="csiq_CanadianSolarSolutionsIncMember_638497262836909479" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarUSAIncMember" xlink:label="csiq_CanadianSolarUSAIncMember_638497262836909479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836909479" xlink:to="csiq_CanadianSolarUSAIncMember_638497262836909479" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarSsesUsIncMember" xlink:label="csiq_CanadianSolarSsesUsIncMember_638497262836909479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836909479" xlink:to="csiq_CanadianSolarSsesUsIncMember_638497262836909479" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_RecurrentEnergyGroupInc.Member" xlink:label="csiq_RecurrentEnergyGroupInc.Member_638497262836909479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836909479" xlink:to="csiq_RecurrentEnergyGroupInc.Member_638497262836909479" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarJapanKKMember" xlink:label="csiq_CanadianSolarJapanKKMember_638497262836909479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836909479" xlink:to="csiq_CanadianSolarJapanKKMember_638497262836909479" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarEMEAGmbHMember" xlink:label="csiq_CanadianSolarEMEAGmbHMember_638497262836909479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836909479" xlink:to="csiq_CanadianSolarEMEAGmbHMember_638497262836909479" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarInternationalLtdMember" xlink:label="csiq_CanadianSolarInternationalLtdMember_638497262836919475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836909479" xlink:to="csiq_CanadianSolarInternationalLtdMember_638497262836919475" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarManufacturingThailandCo.Ltd.Member" xlink:label="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_638497262836919475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836909479" xlink:to="csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_638497262836919475" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember" xlink:label="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_638497262836919475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262836909479" xlink:to="csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_638497262836919475" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="us-gaap_IncomeTaxContingencyLineItems_638497262836919475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyTable_638497262836899477" xlink:to="us-gaap_IncomeTaxContingencyLineItems_638497262836919475" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638497262836919475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638497262836919475" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638497262836919475" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncomeTaxesForeignCorporateTaxRate" xlink:label="csiq_IncomeTaxesForeignCorporateTaxRate_638497262836919475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638497262836919475" xlink:to="csiq_IncomeTaxesForeignCorporateTaxRate_638497262836919475" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption" xlink:label="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_638497262836919475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638497262836919475" xlink:to="csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption_638497262836919475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_638497262836919475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638497262836919475" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_638497262836919475" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638497262836929474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638497262836919475" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638497262836929474" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward" xlink:label="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638497262836929474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxContingencyLineItems_638497262836919475" xlink:to="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638497262836929474" 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/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_638497262836929474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638497262836929474" xlink:to="us-gaap_UnrecognizedTaxBenefits_638497262836929474" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_638497262836929474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638497262836929474" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_638497262836929474" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_UnrecognizedTaxStatueOfLimitationsExpirations" xlink:label="csiq_UnrecognizedTaxStatueOfLimitationsExpirations_638497262836929474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638497262836929474" xlink:to="csiq_UnrecognizedTaxStatueOfLimitationsExpirations_638497262836929474" 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/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_638497262836929474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638497262836929474" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation_638497262836929474" 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/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_638497262836939472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward_638497262836929474" xlink:to="us-gaap_UnrecognizedTaxBenefits_638497262836939472" order="5" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638497262836939472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_StatementTable_638497262836939472" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_638497262836939472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262836939472" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_638497262836939472" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_638497262836939472" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_638497262836939472" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_638497262836939472" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_638497262836949490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638497262836939472" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_638497262836949490" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_638497262836949490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262836939472" xlink:to="us-gaap_IncomeTaxAuthorityAxis_638497262836949490" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_638497262836949490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis_638497262836949490" xlink:to="us-gaap_IncomeTaxAuthorityDomain_638497262836949490" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DomesticAndStateTaxAuthorityMember" xlink:label="csiq_DomesticAndStateTaxAuthorityMember_638497262836949490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638497262836949490" xlink:to="csiq_DomesticAndStateTaxAuthorityMember_638497262836949490" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638497262836949490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262836939472" xlink:to="us-gaap_StatementLineItems_638497262836949490" order="3" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638497262836949490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262836949490" xlink:to="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638497262836949490" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638497262836949490" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_638497262836949490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves_638497262836949490" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_638497262836949490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_638497262836949490" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsInventory" xlink:label="us-gaap_DeferredTaxAssetsInventory_638497262836959878" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" xlink:to="us-gaap_DeferredTaxAssetsInventory_638497262836959878" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DeferredTaxAssetsFutureDeductibleExpenses" xlink:label="csiq_DeferredTaxAssetsFutureDeductibleExpenses_638497262836959878" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" xlink:to="csiq_DeferredTaxAssetsFutureDeductibleExpenses_638497262836959878" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638497262836959878" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638497262836959878" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_638497262836959878" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities_638497262836959878" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets" xlink:label="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_638497262836959878" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" xlink:to="csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets_638497262836959878" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638497262836959878" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638497262836959878" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses" xlink:label="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_638497262836959878" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" xlink:to="us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses_638497262836959878" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DeferredTaxAssetsInterestLimitation" xlink:label="csiq_DeferredTaxAssetsInterestLimitation_638497262836969483" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" xlink:to="csiq_DeferredTaxAssetsInterestLimitation_638497262836969483" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther_638497262836969483" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" xlink:to="us-gaap_DeferredTaxAssetsOther_638497262836969483" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross_638497262836969483" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" xlink:to="us-gaap_DeferredTaxAssetsGross_638497262836969483" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638497262836969483" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638497262836969483" order="13" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_638497262836969483" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638497262836949490" xlink:to="us-gaap_DeferredTaxAssetsNet_638497262836969483" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesNetAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesNetAbstract_638497262836969483" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638497262836949490" xlink:to="us-gaap_DeferredTaxLiabilitiesNetAbstract_638497262836969483" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesDerivatives" xlink:label="us-gaap_DeferredTaxLiabilitiesDerivatives_638497262836969483" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638497262836969483" xlink:to="us-gaap_DeferredTaxLiabilitiesDerivatives_638497262836969483" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638497262836979475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638497262836969483" xlink:to="us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment_638497262836979475" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DeferredTaxLiabilitiesInsuranceRecoverable" xlink:label="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_638497262836979475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638497262836969483" xlink:to="csiq_DeferredTaxLiabilitiesInsuranceRecoverable_638497262836979475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains" xlink:label="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_638497262836979475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638497262836969483" xlink:to="us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains_638497262836979475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_638497262836979475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638497262836969483" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_638497262836979475" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_638497262836979475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesNetAbstract_638497262836969483" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_638497262836979475" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_DeferredTaxLiabilitiesAbstract_638497262836979475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract_638497262836949490" xlink:to="us-gaap_DeferredTaxLiabilitiesAbstract_638497262836979475" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638497262836979475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract_638497262836979475" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638497262836979475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638497262836989473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract_638497262836979475" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638497262836989473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_638497262836989473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxLiabilitiesAbstract_638497262836979475" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_638497262836989473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards_638497262836989473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262836949490" xlink:to="us-gaap_OperatingLossCarryforwards_638497262836989473" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OperatingLossCarryforwardsSubjectToExpiration" xlink:label="csiq_OperatingLossCarryforwardsSubjectToExpiration_638497262836989473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262836949490" xlink:to="csiq_OperatingLossCarryforwardsSubjectToExpiration_638497262836989473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncomeTaxesTable" xlink:label="csiq_IncomeTaxesTable_638497262836999485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="csiq_IncomeTaxesTable_638497262836999485" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638497262836999485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesTable_638497262836999485" xlink:to="srt_RangeAxis_638497262836999485" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638497262836999485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638497262836999485" xlink:to="srt_RangeMember_638497262836999485" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638497262836999485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262836999485" xlink:to="srt_MinimumMember_638497262836999485" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638497262836999485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262836999485" xlink:to="srt_MaximumMember_638497262836999485" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncomeTaxesLineItems" xlink:label="csiq_IncomeTaxesLineItems_638497262836999485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesTable_638497262836999485" xlink:to="csiq_IncomeTaxesLineItems_638497262836999485" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638497262836999485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesLineItems_638497262836999485" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638497262836999485" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638497262836999485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638497262836999485" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate_638497262836999485" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_638497262836999485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638497262836999485" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent_638497262836999485" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638497262836999485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638497262836999485" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638497262836999485" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_638497262837009479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638497262836999485" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays_638497262837009479" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_638497262837009479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638497262836999485" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp_638497262837009479" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent" xlink:label="csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent_638497262837009479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638497262836999485" xlink:to="csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent_638497262837009479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_638497262837009479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638497262836999485" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies_638497262837009479" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638497262837009479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638497262836999485" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638497262837009479" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_638497262837009479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638497262836999485" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate_638497262837009479" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638497262837009479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638497262836999485" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638497262837009479" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncomeTaxAdditionalDisclosureAbstract" xlink:label="csiq_IncomeTaxAdditionalDisclosureAbstract_638497262837009479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesLineItems_638497262836999485" xlink:to="csiq_IncomeTaxAdditionalDisclosureAbstract_638497262837009479" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities" xlink:label="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_638497262837019475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_638497262837009479" xlink:to="csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities_638497262837019475" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_638497262837019475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_638497262837009479" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries_638497262837019475" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_638497262837019475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_638497262837009479" xlink:to="us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries_638497262837019475" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PreferentialWithholdingTaxRate" xlink:label="csiq_PreferentialWithholdingTaxRate_638497262837019475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_638497262837009479" xlink:to="csiq_PreferentialWithholdingTaxRate_638497262837019475" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries" xlink:label="csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries_638497262837019475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxAdditionalDisclosureAbstract_638497262837009479" xlink:to="csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries_638497262837019475" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncomeTaxHolidayAbstract" xlink:label="csiq_IncomeTaxHolidayAbstract_638497262837019475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxesLineItems_638497262836999485" xlink:to="csiq_IncomeTaxHolidayAbstract_638497262837019475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxHolidayAggregateDollarAmount" xlink:label="us-gaap_IncomeTaxHolidayAggregateDollarAmount_638497262837019475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxHolidayAbstract_638497262837019475" xlink:to="us-gaap_IncomeTaxHolidayAggregateDollarAmount_638497262837019475" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_638497262837019475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxHolidayAbstract_638497262837019475" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic_638497262837019475" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted" xlink:label="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_638497262837019475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_IncomeTaxHolidayAbstract_638497262837019475" xlink:to="csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted_638497262837019475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureTable" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureTable_638497262837029473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureTable_638497262837029473" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_638497262837029473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable_638497262837029473" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_638497262837029473" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_638497262837029473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis_638497262837029473" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_638497262837029473" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember" xlink:label="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_638497262837029473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain_638497262837029473" xlink:to="us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_638497262837029473" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ValuationAndQualifyingAccountsDisclosureLineItems" xlink:label="srt_ValuationAndQualifyingAccountsDisclosureLineItems_638497262837029473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureTable_638497262837029473" xlink:to="srt_ValuationAndQualifyingAccountsDisclosureLineItems_638497262837029473" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MovementInValuationAllowancesAndReservesRollForward" xlink:label="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638497262837029473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ValuationAndQualifyingAccountsDisclosureLineItems_638497262837029473" xlink:to="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638497262837029473" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638497262837039485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638497262837029473" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638497262837039485" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet" xlink:label="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_638497262837039485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638497262837029473" xlink:to="csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet_638497262837039485" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ValuationAllowancesAndReservesForeignExchangeEffect" xlink:label="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_638497262837039485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638497262837029473" xlink:to="csiq_ValuationAllowancesAndReservesForeignExchangeEffect_638497262837039485" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_6384972628370394851" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_MovementInValuationAllowancesAndReservesRollForward_638497262837029473" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_6384972628370394851" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638497262837039485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638497262837039485" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638497262837039485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638497262837039485" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638497262837039485" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_638497262837049484" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638497262837039485" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_638497262837049484" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_StockOptionsAndRestrictedStockUnitsMember" xlink:label="csiq_StockOptionsAndRestrictedStockUnitsMember_638497262837049484" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain_638497262837049484" xlink:to="csiq_StockOptionsAndRestrictedStockUnitsMember_638497262837049484" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638497262837049484" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_638497262837039485" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638497262837049484" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638497262837149715" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638497262837049484" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638497262837149715" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638497262837149715" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638497262837049484" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638497262837149715" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther" xlink:label="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_638497262837149715" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638497262837049484" xlink:to="us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther_638497262837149715" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToParentDiluted" xlink:label="us-gaap_NetIncomeLossAttributableToParentDiluted_638497262837149715" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638497262837049484" xlink:to="us-gaap_NetIncomeLossAttributableToParentDiluted_638497262837149715" 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/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638497262837149715" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638497262837049484" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638497262837149715" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638497262837159730" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638497262837049484" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_638497262837159730" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities" xlink:label="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_638497262837159730" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638497262837049484" xlink:to="us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities_638497262837159730" 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/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638497262837159730" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638497262837049484" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638497262837159730" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638497262837159730" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638497262837049484" xlink:to="us-gaap_EarningsPerShareBasic_638497262837159730" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_638497262837159730" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638497262837049484" xlink:to="us-gaap_EarningsPerShareDiluted_638497262837159730" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="RelatedPartyTransactionsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable" xlink:label="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638497262837169492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RelatedPartyTransactionsAbstract" xlink:to="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638497262837169492" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638497262837169492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638497262837169492" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638497262837169492" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_638497262837169492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638497262837169492" xlink:to="us-gaap_RelatedPartyDomain_638497262837169492" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyMember" xlink:label="us-gaap_RelatedPartyMember_638497262837169492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638497262837169492" xlink:to="us-gaap_RelatedPartyMember_638497262837169492" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_638497262837169492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638497262837169492" xlink:to="srt_CounterpartyNameAxis_638497262837169492" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis_638497262837169492" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarInfrastructureFundIncMember" xlink:label="csiq_CanadianSolarInfrastructureFundIncMember_638497262837179488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" xlink:to="csiq_CanadianSolarInfrastructureFundIncMember_638497262837179488" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ChiefExecutiveOfficerMember" xlink:label="srt_ChiefExecutiveOfficerMember_638497262837179488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" xlink:to="srt_ChiefExecutiveOfficerMember_638497262837179488" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_638497262837179488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" xlink:to="csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_638497262837179488" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_HorusSolarS.a.DeCapitalVariableMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableMember_638497262837179488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableMember_638497262837179488" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember" xlink:label="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_638497262837179488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" xlink:to="csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_638497262837179488" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_FranciscoSaIRenewableEnergyS.a.Member" xlink:label="csiq_FranciscoSaIRenewableEnergyS.a.Member_638497262837179488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" xlink:to="csiq_FranciscoSaIRenewableEnergyS.a.Member_638497262837179488" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember" xlink:label="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_638497262837179488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" xlink:to="csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_638497262837179488" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_MarangatuHoldingS.aMember" xlink:label="csiq_MarangatuHoldingS.aMember_638497262837179488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" xlink:to="csiq_MarangatuHoldingS.aMember_638497262837179488" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PanatiHoldingS.a.Member" xlink:label="csiq_PanatiHoldingS.a.Member_638497262837179488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" xlink:to="csiq_PanatiHoldingS.a.Member_638497262837179488" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember_638497262837189482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" xlink:to="csiq_ReCrimsonHoldingsLlcMember_638497262837189482" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SalgueiroSolarHoldingS.aMember" xlink:label="csiq_SalgueiroSolarHoldingS.aMember_638497262837189482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" xlink:to="csiq_SalgueiroSolarHoldingS.aMember_638497262837189482" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_FranciscoSaSolarHoldingS.a.Member" xlink:label="csiq_FranciscoSaSolarHoldingS.a.Member_638497262837189482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" xlink:to="csiq_FranciscoSaSolarHoldingS.a.Member_638497262837189482" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LavraSolarHoldingS.a.Member" xlink:label="csiq_LavraSolarHoldingS.a.Member_638497262837189482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" xlink:to="csiq_LavraSolarHoldingS.a.Member_638497262837189482" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_JaibaSolarHoldingS.a.Member" xlink:label="csiq_JaibaSolarHoldingS.a.Member_638497262837189482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837179488" xlink:to="csiq_JaibaSolarHoldingS.a.Member_638497262837189482" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis_638497262837189482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638497262837169492" xlink:to="us-gaap_LineOfCreditFacilityAxis_638497262837189482" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain_638497262837189482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis_638497262837189482" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain_638497262837189482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ChineseCommercialBanksMember" xlink:label="csiq_ChineseCommercialBanksMember_638497262837189482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain_638497262837189482" xlink:to="csiq_ChineseCommercialBanksMember_638497262837189482" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis_638497262837199480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638497262837169492" xlink:to="us-gaap_RelatedPartyTransactionAxis_638497262837199480" order="4" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="us-gaap_RelatedPartyTransactionDomain_638497262837199480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionAxis_638497262837199480" xlink:to="us-gaap_RelatedPartyTransactionDomain_638497262837199480" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AssetManagementServiceMember" xlink:label="csiq_AssetManagementServiceMember_638497262837199480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionDomain_638497262837199480" xlink:to="csiq_AssetManagementServiceMember_638497262837199480" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OMServiceMember" xlink:label="csiq_OMServiceMember_638497262837199480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionDomain_638497262837199480" xlink:to="csiq_OMServiceMember_638497262837199480" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638497262837199480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638497262837169492" xlink:to="us-gaap_AwardTypeAxis_638497262837199480" order="5" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638497262837199480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638497262837199480" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638497262837199480" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638497262837199480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638497262837199480" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638497262837199480" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_638497262837209475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638497262837169492" xlink:to="srt_OwnershipAxis_638497262837209475" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_638497262837209475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis_638497262837209475" xlink:to="srt_OwnershipDomain_638497262837209475" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarInc.Member" xlink:label="csiq_CanadianSolarInc.Member_638497262837209475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain_638497262837209475" xlink:to="csiq_CanadianSolarInc.Member_638497262837209475" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638497262837209475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638497262837169492" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638497262837209475" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="srt_EquityMethodInvesteeNameDomain_638497262837209475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_638497262837209475" xlink:to="srt_EquityMethodInvesteeNameDomain_638497262837209475" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember" xlink:label="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638497262837209475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262837209475" xlink:to="csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_638497262837209475" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ReCrimsonHoldingsLlcMember" xlink:label="csiq_ReCrimsonHoldingsLlcMember_638497262837209475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EquityMethodInvesteeNameDomain_638497262837209475" xlink:to="csiq_ReCrimsonHoldingsLlcMember_638497262837209475" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638497262837219476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638497262837169492" xlink:to="dei_LegalEntityAxis_638497262837219476" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638497262837219476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638497262837219476" xlink:to="dei_EntityDomain_638497262837219476" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ChineseInvestorMember" xlink:label="csiq_ChineseInvestorMember_638497262837219476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262837219476" xlink:to="csiq_ChineseInvestorMember_638497262837219476" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianInfrastructureFundMember" xlink:label="csiq_CanadianInfrastructureFundMember_638497262837219476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262837219476" xlink:to="csiq_CanadianInfrastructureFundMember_638497262837219476" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_BrazilianInvestorMember" xlink:label="csiq_BrazilianInvestorMember_638497262837219476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262837219476" xlink:to="csiq_BrazilianInvestorMember_638497262837219476" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionLineItems" xlink:label="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable_638497262837169492" xlink:to="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent_638497262837229474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="us-gaap_OtherReceivablesNetCurrent_638497262837229474" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent" xlink:label="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent_638497262837229474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent_638497262837229474" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration" xlink:label="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration_638497262837229474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent_638497262837229474" xlink:to="us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration_638497262837229474" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LoansAndLeasesReceivableRelatedParties" xlink:label="us-gaap_LoansAndLeasesReceivableRelatedParties_638497262837229474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="us-gaap_LoansAndLeasesReceivableRelatedParties_638497262837229474" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent_638497262837229474" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="us-gaap_OtherLiabilitiesCurrent_638497262837229474" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:label="us-gaap_EquityMethodInvestmentOwnershipPercentage_638497262837239475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="us-gaap_EquityMethodInvestmentOwnershipPercentage_638497262837239475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_638497262837239475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_638497262837239475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638497262837239475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638497262837239475" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit_638497262837239475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="us-gaap_LineOfCredit_638497262837239475" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638497262837239475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638497262837239475" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold" xlink:label="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_638497262837249473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold_638497262837249473" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PurchaseOfUnitsPercentage" xlink:label="csiq_PurchaseOfUnitsPercentage_638497262837249473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="csiq_PurchaseOfUnitsPercentage_638497262837249473" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee" xlink:label="us-gaap_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee_638497262837249473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="us-gaap_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee_638497262837249473" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638497262837249473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="us-gaap_Revenues_638497262837249473" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionAmountsOfTransaction" xlink:label="us-gaap_RelatedPartyTransactionAmountsOfTransaction_638497262837259473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="us-gaap_RelatedPartyTransactionAmountsOfTransaction_638497262837259473" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty" xlink:label="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_638497262837259473" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty_638497262837259473" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction" xlink:label="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_638497262837269490" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionLineItems_638497262837219476" xlink:to="us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction_638497262837269490" order="16" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_635950298350555031" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_638497262837269490" />
    <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_638497262837269490" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638497262837279493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_638497262837269490" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638497262837279493" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638497262837279493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_638497262837279493" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638497262837279493" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PropertyAndEquipmentPurchaseCommitmentMember" xlink:label="csiq_PropertyAndEquipmentPurchaseCommitmentMember_638497262837279493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638497262837279493" xlink:to="csiq_PropertyAndEquipmentPurchaseCommitmentMember_638497262837279493" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarPowerSystemCommitmentsMember" xlink:label="csiq_SolarPowerSystemCommitmentsMember_638497262837279493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain_638497262837279493" xlink:to="csiq_SolarPowerSystemCommitmentsMember_638497262837279493" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems" xlink:label="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638497262837279493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable_638497262837269490" xlink:to="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638497262837279493" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted" xlink:label="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_638497262837279493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638497262837279493" xlink:to="us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted_638497262837279493" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInNextTwelveMonths" xlink:label="us-gaap_PurchaseObligationDueInNextTwelveMonths_638497262837279493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638497262837279493" xlink:to="us-gaap_PurchaseObligationDueInNextTwelveMonths_638497262837279493" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInSecondYear" xlink:label="us-gaap_PurchaseObligationDueInSecondYear_638497262837279493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638497262837279493" xlink:to="us-gaap_PurchaseObligationDueInSecondYear_638497262837279493" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInThirdYear" xlink:label="us-gaap_PurchaseObligationDueInThirdYear_638497262837279493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638497262837279493" xlink:to="us-gaap_PurchaseObligationDueInThirdYear_638497262837279493" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFourthYear" xlink:label="us-gaap_PurchaseObligationDueInFourthYear_638497262837279493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638497262837279493" xlink:to="us-gaap_PurchaseObligationDueInFourthYear_638497262837279493" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligationDueInFifthYear" xlink:label="us-gaap_PurchaseObligationDueInFifthYear_638497262837279493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638497262837279493" xlink:to="us-gaap_PurchaseObligationDueInFifthYear_638497262837279493" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PurchaseObligation" xlink:label="us-gaap_PurchaseObligation_638497262837289478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems_638497262837279493" xlink:to="us-gaap_PurchaseObligation_638497262837289478" order="7" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="CommitmentsAndContingenciesDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingenciesTable" xlink:label="us-gaap_LossContingenciesTable_638497262837289478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_LossContingenciesTable_638497262837289478" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_638497262837289478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_638497262837289478" xlink:to="dei_LegalEntityAxis_638497262837289478" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_638497262837289478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_LegalEntityAxis_638497262837289478" xlink:to="dei_EntityDomain_638497262837289478" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CanadianSolarInternationalLtdMember" xlink:label="csiq_CanadianSolarInternationalLtdMember_638497262837289478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_EntityDomain_638497262837289478" xlink:to="csiq_CanadianSolarInternationalLtdMember_638497262837289478" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis_638497262837289478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_638497262837289478" xlink:to="srt_LitigationCaseAxis_638497262837289478" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain_638497262837299489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseAxis_638497262837289478" xlink:to="srt_LitigationCaseTypeDomain_638497262837299489" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xlink:label="csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_638497262837299489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638497262837299489" xlink:to="csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_638497262837299489" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_FirstAdministrativeReviewOfSolarOneMember" xlink:label="csiq_FirstAdministrativeReviewOfSolarOneMember_638497262837299489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638497262837299489" xlink:to="csiq_FirstAdministrativeReviewOfSolarOneMember_638497262837299489" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SecondAdministrativeReviewOfSolarOneMember" xlink:label="csiq_SecondAdministrativeReviewOfSolarOneMember_638497262837299489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638497262837299489" xlink:to="csiq_SecondAdministrativeReviewOfSolarOneMember_638497262837299489" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ThirdAdministrativeReviewOfSolarOneMember" xlink:label="csiq_ThirdAdministrativeReviewOfSolarOneMember_638497262837299489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638497262837299489" xlink:to="csiq_ThirdAdministrativeReviewOfSolarOneMember_638497262837299489" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_FourthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_FourthAdministrativeReviewOfSolarOneMember_638497262837299489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638497262837299489" xlink:to="csiq_FourthAdministrativeReviewOfSolarOneMember_638497262837299489" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_FifthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_FifthAdministrativeReviewOfSolarOneMember_638497262837299489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638497262837299489" xlink:to="csiq_FifthAdministrativeReviewOfSolarOneMember_638497262837299489" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SixthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_SixthAdministrativeReviewOfSolarOneMember_638497262837299489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638497262837299489" xlink:to="csiq_SixthAdministrativeReviewOfSolarOneMember_638497262837299489" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SeventhAdministrativeReviewOfSolarOneMember" xlink:label="csiq_SeventhAdministrativeReviewOfSolarOneMember_638497262837299489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638497262837299489" xlink:to="csiq_SeventhAdministrativeReviewOfSolarOneMember_638497262837299489" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EighthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_EighthAdministrativeReviewOfSolarOneMember_638497262837299489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638497262837299489" xlink:to="csiq_EighthAdministrativeReviewOfSolarOneMember_638497262837299489" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NinthAdministrativeReviewOfSolarOneMember" xlink:label="csiq_NinthAdministrativeReviewOfSolarOneMember_638497262837309479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638497262837299489" xlink:to="csiq_NinthAdministrativeReviewOfSolarOneMember_638497262837309479" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember" xlink:label="csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember_638497262837309479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638497262837299489" xlink:to="csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember_638497262837309479" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember" xlink:label="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_638497262837309479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638497262837299489" xlink:to="csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_638497262837309479" order="12" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SeventhAdministrativeReviewOfSolarTwoMember" xlink:label="csiq_SeventhAdministrativeReviewOfSolarTwoMember_638497262837309479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638497262837299489" xlink:to="csiq_SeventhAdministrativeReviewOfSolarTwoMember_638497262837309479" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EighthAdministrativeReviewOfSolarTwoMember" xlink:label="csiq_EighthAdministrativeReviewOfSolarTwoMember_638497262837309479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_LitigationCaseTypeDomain_638497262837299489" xlink:to="csiq_EighthAdministrativeReviewOfSolarTwoMember_638497262837309479" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638497262837309479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_638497262837289478" xlink:to="srt_RangeAxis_638497262837309479" order="3" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638497262837309479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638497262837309479" xlink:to="srt_RangeMember_638497262837309479" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638497262837309479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262837309479" xlink:to="srt_MinimumMember_638497262837309479" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638497262837319478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262837309479" xlink:to="srt_MaximumMember_638497262837319478" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LossContingenciesLineItems" xlink:label="us-gaap_LossContingenciesLineItems_638497262837319478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesTable_638497262837289478" xlink:to="us-gaap_LossContingenciesLineItems_638497262837319478" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_638497262837319478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_638497262837319478" xlink:to="csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_638497262837319478" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_638497262837319478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_638497262837319478" xlink:to="csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate_638497262837319478" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate" xlink:label="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate_638497262837319478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_638497262837319478" xlink:to="csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate_638497262837319478" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NumberOfMonocrystallineSiliconPhotovoltaicCells" xlink:label="csiq_NumberOfMonocrystallineSiliconPhotovoltaicCells_638497262837319478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_638497262837319478" xlink:to="csiq_NumberOfMonocrystallineSiliconPhotovoltaicCells_638497262837319478" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells" xlink:label="csiq_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells_638497262837319478" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_638497262837319478" xlink:to="csiq_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells_638497262837319478" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_MinimumModuleEfficiency" xlink:label="csiq_MinimumModuleEfficiency_638497262837329475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LossContingenciesLineItems_638497262837319478" xlink:to="csiq_MinimumModuleEfficiency_638497262837329475" order="6" 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/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638497262837329475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_StatementTable_638497262837329475" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638497262837329475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262837329475" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638497262837329475" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638497262837329475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638497262837329475" xlink:to="us-gaap_SegmentDomain_638497262837329475" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember_638497262837329475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638497262837329475" xlink:to="csiq_CsiSolarSegmentMember_638497262837329475" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_RecurrentEnergySegmentMember" xlink:label="csiq_RecurrentEnergySegmentMember_638497262837339486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638497262837329475" xlink:to="csiq_RecurrentEnergySegmentMember_638497262837339486" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638497262837339486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262837329475" xlink:to="us-gaap_StatementLineItems_638497262837339486" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_638497262837339486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262837339486" xlink:to="us-gaap_NumberOfReportableSegments_638497262837339486" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InvestmentsInAffiliatesImpairmentCharge" xlink:label="csiq_InvestmentsInAffiliatesImpairmentCharge_638497262837339486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262837339486" xlink:to="csiq_InvestmentsInAffiliatesImpairmentCharge_638497262837339486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AssetImpairmentCharges" xlink:label="us-gaap_AssetImpairmentCharges_638497262837339486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262837339486" xlink:to="us-gaap_AssetImpairmentCharges_638497262837339486" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProjectAssetsImpairmentCharge" xlink:label="csiq_ProjectAssetsImpairmentCharge_638497262837339486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262837339486" xlink:to="csiq_ProjectAssetsImpairmentCharge_638497262837339486" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </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/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638497262837339486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638497262837339486" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638497262837349486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638497262837339486" xlink:to="srt_ConsolidationItemsAxis_638497262837349486" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638497262837349486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638497262837349486" xlink:to="srt_ConsolidationItemsDomain_638497262837349486" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember_638497262837349486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638497262837349486" xlink:to="us-gaap_OperatingSegmentsMember_638497262837349486" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EliminationsAndReconcilingItemsMember" xlink:label="csiq_EliminationsAndReconcilingItemsMember_638497262837349486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638497262837349486" xlink:to="csiq_EliminationsAndReconcilingItemsMember_638497262837349486" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638497262837349486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638497262837339486" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638497262837349486" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638497262837349486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638497262837349486" xlink:to="us-gaap_SegmentDomain_638497262837349486" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember_638497262837349486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638497262837349486" xlink:to="csiq_CsiSolarSegmentMember_638497262837349486" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_RecurrentEnergySegmentMember" xlink:label="csiq_RecurrentEnergySegmentMember_638497262837349486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638497262837349486" xlink:to="csiq_RecurrentEnergySegmentMember_638497262837349486" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638497262837349486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638497262837339486" xlink:to="us-gaap_SegmentReportingInformationLineItems_638497262837349486" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_638497262837349486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638497262837349486" xlink:to="us-gaap_NumberOfReportableSegments_638497262837349486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationProfitLossAbstract" xlink:label="us-gaap_SegmentReportingInformationProfitLossAbstract_638497262837359479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638497262837349486" xlink:to="us-gaap_SegmentReportingInformationProfitLossAbstract_638497262837359479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262837359479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_638497262837359479" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262837359479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638497262837359479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_638497262837359479" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638497262837359479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638497262837359479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_638497262837359479" xlink:to="us-gaap_GrossProfit_638497262837359479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638497262837359479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationProfitLossAbstract_638497262837359479" xlink:to="us-gaap_OperatingIncomeLoss_638497262837359479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638497262837369514" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638497262837369514" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638497262837369514" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638497262837369514" xlink:to="srt_StatementGeographicalAxis_638497262837369514" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638497262837369514" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638497262837369514" xlink:to="srt_SegmentGeographicalDomain_638497262837369514" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AmericaMember" xlink:label="csiq_AmericaMember_638497262837369514" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638497262837369514" xlink:to="csiq_AmericaMember_638497262837369514" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US_638497262837379489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638497262837369514" xlink:to="country_US_638497262837379489" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_BR" xlink:label="country_BR_638497262837379489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638497262837369514" xlink:to="country_BR_638497262837379489" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="country_CA_638497262837379489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638497262837369514" xlink:to="country_CA_638497262837379489" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CL" xlink:label="country_CL_638497262837379489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638497262837369514" xlink:to="country_CL_638497262837379489" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_PR" xlink:label="country_PR_638497262837379489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638497262837369514" xlink:to="country_PR_638497262837379489" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_MX" xlink:label="country_MX_638497262837379489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638497262837369514" xlink:to="country_MX_638497262837379489" order="6" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OtherCountriesAmericaMember" xlink:label="csiq_OtherCountriesAmericaMember_638497262837379489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="csiq_AmericaMember_638497262837369514" xlink:to="csiq_OtherCountriesAmericaMember_638497262837379489" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember_638497262837379489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638497262837369514" xlink:to="srt_AsiaMember_638497262837379489" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CN" xlink:label="country_CN_638497262837379489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638497262837379489" xlink:to="country_CN_638497262837379489" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_JP" xlink:label="country_JP_638497262837379489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638497262837379489" xlink:to="country_JP_638497262837379489" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_IN" xlink:label="country_IN_638497262837379489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638497262837379489" xlink:to="country_IN_638497262837379489" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_PK" xlink:label="country_PK_638497262837389479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638497262837379489" xlink:to="country_PK_638497262837389479" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_PH" xlink:label="country_PH_638497262837389479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638497262837379489" xlink:to="country_PH_638497262837389479" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_TW" xlink:label="country_TW_638497262837389479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638497262837379489" xlink:to="country_TW_638497262837389479" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_HK" xlink:label="country_HK_638497262837389479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638497262837379489" xlink:to="country_HK_638497262837389479" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_AE" xlink:label="country_AE_638497262837389479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638497262837379489" xlink:to="country_AE_638497262837389479" order="8" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_TH" xlink:label="country_TH_638497262837389479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638497262837379489" xlink:to="country_TH_638497262837389479" order="9" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_VN" xlink:label="country_VN_638497262837389479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638497262837379489" xlink:to="country_VN_638497262837389479" order="10" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OtherCountriesAsiaMember" xlink:label="csiq_OtherCountriesAsiaMember_638497262837399475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_AsiaMember_638497262837379489" xlink:to="csiq_OtherCountriesAsiaMember_638497262837399475" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember_638497262837399475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638497262837369514" xlink:to="srt_EuropeMember_638497262837399475" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_ES" xlink:label="country_ES_638497262837399475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638497262837399475" xlink:to="country_ES_638497262837399475" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_AU" xlink:label="country_AU_638497262837399475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638497262837399475" xlink:to="country_AU_638497262837399475" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_DE" xlink:label="country_DE_638497262837399475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638497262837399475" xlink:to="country_DE_638497262837399475" order="3" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_NL" xlink:label="country_NL_638497262837399475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638497262837399475" xlink:to="country_NL_638497262837399475" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_ZA" xlink:label="country_ZA_638497262837399475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638497262837399475" xlink:to="country_ZA_638497262837399475" order="5" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_GB" xlink:label="country_GB_638497262837409475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638497262837399475" xlink:to="country_GB_638497262837409475" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CZ" xlink:label="country_CZ_638497262837409475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638497262837399475" xlink:to="country_CZ_638497262837409475" order="7" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_NO" xlink:label="country_NO_638497262837409475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638497262837399475" xlink:to="country_NO_638497262837409475" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_IT" xlink:label="country_IT_638497262837409475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638497262837399475" xlink:to="country_IT_638497262837409475" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_IE" xlink:label="country_IE_638497262837409475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638497262837399475" xlink:to="country_IE_638497262837409475" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_RO" xlink:label="country_RO_638497262837409475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638497262837399475" xlink:to="country_RO_638497262837409475" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_FR" xlink:label="country_FR_638497262837409475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638497262837399475" xlink:to="country_FR_638497262837409475" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CO" xlink:label="country_CO_638497262837419475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638497262837399475" xlink:to="country_CO_638497262837419475" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_AR" xlink:label="country_AR_638497262837419475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638497262837399475" xlink:to="country_AR_638497262837419475" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_OtherCountriesEuropeMember" xlink:label="csiq_OtherCountriesEuropeMember_638497262837419475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_EuropeMember_638497262837399475" xlink:to="csiq_OtherCountriesEuropeMember_638497262837419475" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SeriesOfIndividuallyImmaterialCountriesMember" xlink:label="csiq_SeriesOfIndividuallyImmaterialCountriesMember_638497262837419475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638497262837369514" xlink:to="csiq_SeriesOfIndividuallyImmaterialCountriesMember_638497262837419475" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638497262837419475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638497262837369514" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638497262837419475" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262837429489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638497262837419475" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262837429489" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets_638497262837429489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638497262837419475" xlink:to="us-gaap_NoncurrentAssets_638497262837429489" 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/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="SegmentReportingAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable" xlink:label="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_638497262837439492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_638497262837439492" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638497262837439492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_638497262837439492" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638497262837439492" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638497262837439492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638497262837439492" xlink:to="us-gaap_SegmentDomain_638497262837439492" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarSegmentMember" xlink:label="csiq_CsiSolarSegmentMember_638497262837439492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638497262837439492" xlink:to="csiq_CsiSolarSegmentMember_638497262837439492" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_RecurrentEnergySegmentMember" xlink:label="csiq_RecurrentEnergySegmentMember_638497262837439492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638497262837439492" xlink:to="csiq_RecurrentEnergySegmentMember_638497262837439492" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_638497262837439492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_638497262837439492" xlink:to="srt_ProductOrServiceAxis_638497262837439492" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_638497262837439492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductOrServiceAxis_638497262837439492" xlink:to="srt_ProductsAndServicesDomain_638497262837439492" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarModulesMember" xlink:label="csiq_SolarModulesMember_638497262837439492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262837439492" xlink:to="csiq_SolarModulesMember_638497262837439492" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarSystemKitsProductMember" xlink:label="csiq_SolarSystemKitsProductMember_638497262837439492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262837439492" xlink:to="csiq_SolarSystemKitsProductMember_638497262837439492" order="2" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EpcAndOthersMember" xlink:label="csiq_EpcAndOthersMember_638497262837439492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262837439492" xlink:to="csiq_EpcAndOthersMember_638497262837439492" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember" xlink:label="csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember_638497262837439492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262837439492" xlink:to="csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember_638497262837439492" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_BatteryStorageSolutionsMember" xlink:label="csiq_BatteryStorageSolutionsMember_638497262837439492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262837439492" xlink:to="csiq_BatteryStorageSolutionsMember_638497262837439492" order="5" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember" xlink:label="csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember_638497262837449482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262837439492" xlink:to="csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember_638497262837449482" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PowerServicesOMAndAssetManagementMember" xlink:label="csiq_PowerServicesOMAndAssetManagementMember_638497262837449482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ProductsAndServicesDomain_638497262837439492" xlink:to="csiq_PowerServicesOMAndAssetManagementMember_638497262837449482" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems" xlink:label="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_638497262837449482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable_638497262837439492" xlink:to="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_638497262837449482" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262837449482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems_638497262837449482" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262837449482" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </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-20231231.xsd#csiq_MajorCustomersDisclosureAbstract" xlink:label="MajorCustomersDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638497262837449482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="MajorCustomersDisclosureAbstract" xlink:to="us-gaap_Revenues_638497262837449482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="CompensationAndRetirementDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanTable" xlink:label="us-gaap_DefinedContributionPlanTable_638497262837459492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_DefinedContributionPlanTable_638497262837459492" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638497262837459492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedContributionPlanTable_638497262837459492" xlink:to="srt_RangeAxis_638497262837459492" order="1" use="optional" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638497262837459492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638497262837459492" xlink:to="srt_RangeMember_638497262837459492" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638497262837459492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262837459492" xlink:to="srt_MinimumMember_638497262837459492" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638497262837459492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262837459492" xlink:to="srt_MaximumMember_638497262837459492" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanSponsorLocationAxis" xlink:label="us-gaap_RetirementPlanSponsorLocationAxis_638497262837469492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedContributionPlanTable_638497262837459492" xlink:to="us-gaap_RetirementPlanSponsorLocationAxis_638497262837469492" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetirementPlanSponsorLocationDomain" xlink:label="us-gaap_RetirementPlanSponsorLocationDomain_638497262837469492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanSponsorLocationAxis_638497262837469492" xlink:to="us-gaap_RetirementPlanSponsorLocationDomain_638497262837469492" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignPlanMember" xlink:label="us-gaap_ForeignPlanMember_638497262837469492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RetirementPlanSponsorLocationDomain_638497262837469492" xlink:to="us-gaap_ForeignPlanMember_638497262837469492" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanDisclosureLineItems" xlink:label="us-gaap_DefinedContributionPlanDisclosureLineItems_638497262837469492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedContributionPlanTable_638497262837459492" xlink:to="us-gaap_DefinedContributionPlanDisclosureLineItems_638497262837469492" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_638497262837469492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedContributionPlanDisclosureLineItems_638497262837469492" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent_638497262837469492" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanCostRecognized" xlink:label="us-gaap_DefinedContributionPlanCostRecognized_638497262837469492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedContributionPlanDisclosureLineItems_638497262837469492" xlink:to="us-gaap_DefinedContributionPlanCostRecognized_638497262837469492" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_638497262837469492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedContributionPlanDisclosureLineItems_638497262837469492" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits_638497262837469492" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_638497262837479485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedContributionPlanDisclosureLineItems_638497262837469492" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds_638497262837479485" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_638497262837479485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedContributionPlanDisclosureLineItems_638497262837469492" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits_638497262837479485" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits" xlink:label="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_638497262837479485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedContributionPlanDisclosureLineItems_638497262837469492" xlink:to="csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits_638497262837479485" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_DefinedContributionPlanEmployerContributionAmount" xlink:label="csiq_DefinedContributionPlanEmployerContributionAmount_638497262837479485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedContributionPlanDisclosureLineItems_638497262837469492" xlink:to="csiq_DefinedContributionPlanEmployerContributionAmount_638497262837479485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch" xlink:label="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_638497262837479485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedContributionPlanDisclosureLineItems_638497262837469492" xlink:to="us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch_638497262837479485" order="8" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837489489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837489489" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638497262837489489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837489489" xlink:to="us-gaap_AwardTypeAxis_638497262837489489" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638497262837489489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638497262837489489" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638497262837489489" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638497262837489489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638497262837489489" xlink:to="us-gaap_EmployeeStockOptionMember_638497262837489489" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis_638497262837489489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837489489" xlink:to="us-gaap_GranteeStatusAxis_638497262837489489" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain_638497262837489489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusAxis_638497262837489489" xlink:to="us-gaap_GranteeStatusDomain_638497262837489489" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember_638497262837489489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusDomain_638497262837489489" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember_638497262837489489" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837489489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837489489" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837489489" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_638497262837489489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837489489" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_638497262837489489" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_638497262837489489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837489489" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_638497262837489489" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares" xlink:label="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_638497262837499485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837489489" xlink:to="csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares_638497262837499485" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_638497262837499485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837489489" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate_638497262837499485" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_638497262837499485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837489489" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm_638497262837499485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638497262837499485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837489489" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638497262837499485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638497262837499485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837489489" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638497262837499485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638497262837499485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837489489" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638497262837499485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638497262837499485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837489489" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638497262837499485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638497262837499485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837489489" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638497262837499485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_638497262837499485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837489489" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1_638497262837499485" order="11" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837509476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837509476" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638497262837509476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837509476" xlink:to="us-gaap_AwardTypeAxis_638497262837509476" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638497262837509476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638497262837509476" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638497262837509476" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638497262837509476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638497262837509476" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638497262837509476" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638497262837509476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837509476" xlink:to="srt_RangeAxis_638497262837509476" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638497262837509476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638497262837509476" xlink:to="srt_RangeMember_638497262837509476" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638497262837519631" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262837509476" xlink:to="srt_MinimumMember_638497262837519631" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638497262837519631" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638497262837509476" xlink:to="srt_MaximumMember_638497262837519631" order="2" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingAxis" xlink:label="us-gaap_VestingAxis_638497262837519631" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837509476" xlink:to="us-gaap_VestingAxis_638497262837519631" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VestingDomain" xlink:label="us-gaap_VestingDomain_638497262837519631" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingAxis_638497262837519631" xlink:to="us-gaap_VestingDomain_638497262837519631" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheOneMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheOneMember_638497262837519631" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingDomain_638497262837519631" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheOneMember_638497262837519631" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationAwardTrancheTwoMember" xlink:label="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_638497262837519631" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VestingDomain_638497262837519631" xlink:to="us-gaap_ShareBasedCompensationAwardTrancheTwoMember_638497262837519631" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GranteeStatusAxis" xlink:label="us-gaap_GranteeStatusAxis_638497262837519631" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837509476" xlink:to="us-gaap_GranteeStatusAxis_638497262837519631" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GranteeStatusDomain" xlink:label="us-gaap_GranteeStatusDomain_638497262837519631" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusAxis_638497262837519631" xlink:to="us-gaap_GranteeStatusDomain_638497262837519631" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedPaymentArrangementEmployeeMember" xlink:label="us-gaap_ShareBasedPaymentArrangementEmployeeMember_638497262837519631" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GranteeStatusDomain_638497262837519631" xlink:to="us-gaap_ShareBasedPaymentArrangementEmployeeMember_638497262837519631" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837529477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837509476" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837529477" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638497262837529477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837529477" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638497262837529477" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_638497262837529477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837529477" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_638497262837529477" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_638497262837529477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837529477" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage_638497262837529477" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638497262837529477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837529477" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638497262837529477" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638497262837529477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837529477" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638497262837529477" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions" xlink:label="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_638497262837529477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837529477" xlink:to="csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions_638497262837529477" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_638497262837529477" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837529477" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_638497262837529477" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638497262837539475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837529477" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638497262837539475" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638497262837539475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837529477" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638497262837539475" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638497262837539475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638497262837539475" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638497262837539475" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638497262837539475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638497262837539475" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638497262837539475" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_638497262837539475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638497262837539475" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_638497262837539475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_638497262837539475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638497262837539475" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_638497262837539475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6384972628375394751" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_638497262837539475" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6384972628375394751" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638497262837549475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837529477" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638497262837549475" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638497262837549475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638497262837549475" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638497262837549475" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638497262837549475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638497262837549475" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638497262837549475" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_638497262837549475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638497262837549475" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_638497262837549475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_638497262837549475" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638497262837549475" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_638497262837549475" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6384972628375494751" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638497262837549475" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6384972628375494751" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_638497262837559476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_638497262837549475" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue_638497262837559476" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails" xlink:type="extended" xlink:title="42503 - Disclosure - SHARE-BASED COMPENSATION - 2020 CSI Solar Employee Incentive Plan (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837559476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837559476" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638497262837559476" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837559476" xlink:to="us-gaap_PlanNameAxis_638497262837559476" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638497262837569496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638497262837559476" xlink:to="us-gaap_PlanNameDomain_638497262837569496" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ShareIncentivePlan2006Member" xlink:label="csiq_ShareIncentivePlan2006Member_638497262837569496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638497262837569496" xlink:to="csiq_ShareIncentivePlan2006Member_638497262837569496" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarEmployeeIncentivePlan2020Member" xlink:label="csiq_CsiSolarEmployeeIncentivePlan2020Member_638497262837569496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638497262837569496" xlink:to="csiq_CsiSolarEmployeeIncentivePlan2020Member_638497262837569496" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_638497262837569496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837559476" xlink:to="srt_OwnershipAxis_638497262837569496" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_638497262837569496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis_638497262837569496" xlink:to="srt_OwnershipDomain_638497262837569496" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarCo.Ltd.Member" xlink:label="csiq_CsiSolarCo.Ltd.Member_638497262837569496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain_638497262837569496" xlink:to="csiq_CsiSolarCo.Ltd.Member_638497262837569496" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837569496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638497262837559476" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837569496" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership_638497262837579497" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837569496" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership_638497262837579497" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract" xlink:label="us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract_638497262837579497" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638497262837569496" xlink:to="us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract_638497262837579497" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_638497262837579497" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract_638497262837579497" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_638497262837579497" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership" xlink:label="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership_6384972628375794971" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract_638497262837579497" xlink:to="csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership_6384972628375794971" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails" xlink:type="extended" xlink:title="42601 - Disclosure - NON-CONTROLLING INTERESTS - Additional Information (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="us-gaap_NoncontrollingInterestAbstract_2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_638497262837579497" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncontrollingInterestAbstract_2" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_638497262837579497" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_638497262837589489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_638497262837579497" xlink:to="srt_OwnershipAxis_638497262837589489" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_638497262837589489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis_638497262837589489" xlink:to="srt_OwnershipDomain_638497262837589489" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarCo.Ltd.Member" xlink:label="csiq_CsiSolarCo.Ltd.Member_638497262837589489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain_638497262837589489" xlink:to="csiq_CsiSolarCo.Ltd.Member_638497262837589489" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638497262837589489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_638497262837579497" xlink:to="us-gaap_StatementEquityComponentsAxis_638497262837589489" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638497262837589489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638497262837589489" xlink:to="us-gaap_EquityComponentDomain_638497262837589489" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember_638497262837589489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638497262837589489" xlink:to="us-gaap_NoncontrollingInterestMember_638497262837589489" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ParentMember" xlink:label="us-gaap_ParentMember_638497262837589489" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638497262837589489" xlink:to="us-gaap_ParentMember_638497262837589489" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_638497262837599515" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ParentMember_638497262837589489" xlink:to="us-gaap_AdditionalPaidInCapitalMember_638497262837599515" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638497262837599515" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ParentMember_638497262837589489" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638497262837599515" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_638497262837599515" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_638497262837579497" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_638497262837599515" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodValueNewIssues_638497262837599515" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_638497262837599515" xlink:to="us-gaap_StockIssuedDuringPeriodValueNewIssues_638497262837599515" 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/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByParent" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByParent_638497262837599515" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_638497262837599515" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByParent_638497262837599515" 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/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners" xlink:label="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_638497262837599515" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_638497262837599515" xlink:to="us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners_638497262837599515" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails" xlink:type="extended" xlink:title="42602 - Disclosure - NON-CONTROLLING INTERESTS - Effects of changes in Company's ownership interest in less than wholly owned subsidiaries on equity attributable to Canadian Solar Inc (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncontrollingInterestAbstract" xlink:label="us-gaap_NoncontrollingInterestAbstract_3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_638497262837609488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncontrollingInterestAbstract_3" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_638497262837609488" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_638497262837609488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_638497262837609488" xlink:to="srt_OwnershipAxis_638497262837609488" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_638497262837609488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipAxis_638497262837609488" xlink:to="srt_OwnershipDomain_638497262837609488" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_CsiSolarCo.Ltd.Member" xlink:label="csiq_CsiSolarCo.Ltd.Member_638497262837609488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_OwnershipDomain_638497262837609488" xlink:to="csiq_CsiSolarCo.Ltd.Member_638497262837609488" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638497262837609488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_638497262837609488" xlink:to="us-gaap_StatementEquityComponentsAxis_638497262837609488" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638497262837609488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638497262837609488" xlink:to="us-gaap_EquityComponentDomain_638497262837609488" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_638497262837609488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638497262837609488" xlink:to="us-gaap_AdditionalPaidInCapitalMember_638497262837609488" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638497262837609488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638497262837609488" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638497262837609488" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_638497262837609488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable_638497262837609488" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_638497262837609488" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638497262837619482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_638497262837609488" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638497262837619482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract_638497262837619482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_638497262837609488" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract_638497262837619482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet_638497262837619482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract_638497262837619482" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet_638497262837619482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders" xlink:label="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_638497262837619482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract_638497262837619482" xlink:to="us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders_638497262837619482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet" xlink:label="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet_638497262837619482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems_638497262837609488" xlink:to="us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet_638497262837619482" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails" xlink:type="extended" xlink:title="42701 - Disclosure - SUBSEQUENT EVENT (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638497262837629491" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract_1" xlink:to="us-gaap_StatementTable_638497262837629491" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638497262837629491" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262837629491" xlink:to="srt_ConsolidatedEntitiesAxis_638497262837629491" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638497262837629491" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638497262837629491" xlink:to="srt_ConsolidatedEntitiesDomain_638497262837629491" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_RecurrentEnergyLlcMember" xlink:label="csiq_RecurrentEnergyLlcMember_638497262837629491" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638497262837629491" xlink:to="csiq_RecurrentEnergyLlcMember_638497262837629491" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CounterpartyNameAxis" xlink:label="srt_CounterpartyNameAxis_638497262837629491" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262837629491" xlink:to="srt_CounterpartyNameAxis_638497262837629491" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RepurchaseAgreementCounterpartyNameDomain" xlink:label="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837629491" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CounterpartyNameAxis_638497262837629491" xlink:to="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837629491" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_BlackRockMember" xlink:label="csiq_BlackRockMember_638497262837629491" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RepurchaseAgreementCounterpartyNameDomain_638497262837629491" xlink:to="csiq_BlackRockMember_638497262837629491" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_638497262837639486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262837629491" xlink:to="us-gaap_SubsequentEventTypeAxis_638497262837639486" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_638497262837639486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis_638497262837639486" xlink:to="us-gaap_SubsequentEventTypeDomain_638497262837639486" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember_638497262837639486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeDomain_638497262837639486" xlink:to="us-gaap_SubsequentEventMember_638497262837639486" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638497262837639486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638497262837629491" xlink:to="us-gaap_StatementLineItems_638497262837639486" order="4" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638497262837639486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262837639486" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_638497262837639486" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_AmountOfInvestmentCommitmentInExchangeOfVotingRights" xlink:label="csiq_AmountOfInvestmentCommitmentInExchangeOfVotingRights_638497262837639486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262837639486" xlink:to="csiq_AmountOfInvestmentCommitmentInExchangeOfVotingRights_638497262837639486" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_NumberOfTranches" xlink:label="csiq_NumberOfTranches_638497262837639486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262837639486" xlink:to="csiq_NumberOfTranches_638497262837639486" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PercentageOfVotingRightsInExchangeOfInvestment" xlink:label="csiq_PercentageOfVotingRightsInExchangeOfInvestment_638497262837639486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638497262837639486" xlink:to="csiq_PercentageOfVotingRightsInExchangeOfInvestment_638497262837639486" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails" xlink:type="extended" xlink:title="42801 - Disclosure - Financial Statement Schedule I (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097483475" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638497262837649481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097483475" xlink:to="us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638497262837649481" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries" xlink:label="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638497262837649481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract_636806382097483475" xlink:to="csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries_638497262837649481" 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="42802 - 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/2023/elts/srt-2023.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837649481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837649481" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638497262837659488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837649481" xlink:to="srt_ConsolidatedEntitiesAxis_638497262837659488" order="1" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638497262837659488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638497262837659488" xlink:to="srt_ConsolidatedEntitiesDomain_638497262837659488" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_638497262837659488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638497262837659488" xlink:to="srt_ParentCompanyMember_638497262837659488" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638497262837659488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837649481" xlink:to="srt_ConsolidationItemsAxis_638497262837659488" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638497262837659488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638497262837659488" xlink:to="srt_ConsolidationItemsDomain_638497262837659488" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_638497262837659488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638497262837659488" xlink:to="srt_ReportableLegalEntitiesMember_638497262837659488" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638497262837659488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837649481" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638497262837659488" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_638497262837659488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638497262837659488" xlink:to="us-gaap_RelatedPartyDomain_638497262837659488" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyMember" xlink:label="us-gaap_RelatedPartyMember_638497262837659488" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638497262837659488" xlink:to="us-gaap_RelatedPartyMember_638497262837659488" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember_638497262837669496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyMember_638497262837659488" xlink:to="srt_SubsidiariesMember_638497262837669496" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonrelatedPartyMember" xlink:label="us-gaap_NonrelatedPartyMember_638497262837669496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638497262837659488" xlink:to="us-gaap_NonrelatedPartyMember_638497262837669496" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837669496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837649481" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837669496" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_638497262837669496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837669496" xlink:to="us-gaap_AssetsAbstract_638497262837669496" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_638497262837669496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262837669496" xlink:to="us-gaap_AssetsCurrentAbstract_638497262837669496" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638497262837669496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262837669496" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638497262837669496" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherReceivablesNetCurrent" xlink:label="us-gaap_OtherReceivablesNetCurrent_638497262837669496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262837669496" xlink:to="us-gaap_OtherReceivablesNetCurrent_638497262837669496" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/positiveLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeAssetsCurrent" xlink:label="us-gaap_DerivativeAssetsCurrent_638497262837669496" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262837669496" xlink:to="us-gaap_DerivativeAssetsCurrent_638497262837669496" 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/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638497262837679482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262837669496" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638497262837679482" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638497262837679482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638497262837669496" xlink:to="us-gaap_AssetsCurrent_638497262837679482" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InvestmentInSubsidiaries" xlink:label="csiq_InvestmentInSubsidiaries_638497262837679482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262837669496" xlink:to="csiq_InvestmentInSubsidiaries_638497262837679482" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_InvestmentInAffiliates" xlink:label="csiq_InvestmentInAffiliates_638497262837679482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262837669496" xlink:to="csiq_InvestmentInAffiliates_638497262837679482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638497262837679482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262837669496" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638497262837679482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638497262837679482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262837669496" xlink:to="us-gaap_OtherAssetsNoncurrent_638497262837679482" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638497262837679482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638497262837669496" xlink:to="us-gaap_Assets_638497262837679482" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262837689480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837669496" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262837689480" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_638497262837689480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262837689480" xlink:to="us-gaap_LiabilitiesCurrentAbstract_638497262837689480" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermBorrowings" xlink:label="us-gaap_ShortTermBorrowings_638497262837689480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638497262837689480" xlink:to="us-gaap_ShortTermBorrowings_638497262837689480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeLiabilitiesCurrent" xlink:label="us-gaap_DerivativeLiabilitiesCurrent_638497262837689480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638497262837689480" xlink:to="us-gaap_DerivativeLiabilitiesCurrent_638497262837689480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesCurrent" xlink:label="us-gaap_OtherLiabilitiesCurrent_638497262837689480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638497262837689480" xlink:to="us-gaap_OtherLiabilitiesCurrent_638497262837689480" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638497262837689480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638497262837689480" xlink:to="us-gaap_LiabilitiesCurrent_638497262837689480" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConvertibleNotesPayable" xlink:label="us-gaap_ConvertibleNotesPayable_638497262837689480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262837689480" xlink:to="us-gaap_ConvertibleNotesPayable_638497262837689480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638497262837699481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262837689480" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638497262837699481" 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/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638497262837699481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262837689480" xlink:to="us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_638497262837699481" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638497262837699481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638497262837689480" xlink:to="us-gaap_Liabilities_638497262837699481" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262837699481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837669496" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262837699481" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638497262837699481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262837699481" xlink:to="us-gaap_CommonStockValue_638497262837699481" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock_638497262837699481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262837699481" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock_638497262837699481" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638497262837709480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262837699481" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638497262837709480" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638497262837709480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262837699481" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638497262837709480" 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/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638497262837709480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract_638497262837699481" xlink:to="us-gaap_StockholdersEquity_638497262837709480" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_638497262837709480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837669496" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_638497262837709480" 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="42803 - 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/2023/elts/srt-2023.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837719479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837719479" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638497262837719479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837719479" xlink:to="srt_ConsolidationItemsAxis_638497262837719479" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638497262837719479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638497262837719479" xlink:to="srt_ConsolidationItemsDomain_638497262837719479" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_638497262837719479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638497262837719479" xlink:to="srt_ReportableLegalEntitiesMember_638497262837719479" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638497262837719479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837719479" xlink:to="srt_ConsolidatedEntitiesAxis_638497262837719479" order="2" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638497262837729492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638497262837719479" xlink:to="srt_ConsolidatedEntitiesDomain_638497262837729492" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_638497262837729492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638497262837729492" xlink:to="srt_ParentCompanyMember_638497262837729492" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837729492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837719479" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837729492" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638497262837729492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837729492" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_638497262837729492" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638497262837729492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837729492" xlink:to="us-gaap_CommonStockSharesIssued_638497262837729492" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_638497262837729492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837729492" xlink:to="us-gaap_CommonStockSharesOutstanding_638497262837729492" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails" xlink:type="extended" xlink:title="42804 - 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/2023/elts/srt-2023.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837739497" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837739497" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638497262837739497" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837739497" xlink:to="srt_ConsolidationItemsAxis_638497262837739497" order="1" use="optional" priority="3" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638497262837739497" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638497262837739497" xlink:to="srt_ConsolidationItemsDomain_638497262837739497" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_638497262837739497" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638497262837739497" xlink:to="srt_ReportableLegalEntitiesMember_638497262837739497" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638497262837739497" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837739497" xlink:to="srt_ConsolidatedEntitiesAxis_638497262837739497" order="2" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638497262837739497" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638497262837739497" xlink:to="srt_ConsolidatedEntitiesDomain_638497262837739497" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_638497262837739497" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638497262837739497" xlink:to="srt_ParentCompanyMember_638497262837739497" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837739497" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837739497" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837739497" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262837739497" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837739497" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_638497262837739497" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold_638497262837749487" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837739497" xlink:to="us-gaap_CostOfGoodsAndServicesSold_638497262837749487" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit_638497262837749487" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837739497" xlink:to="us-gaap_GrossProfit_638497262837749487" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract_638497262837749487" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837739497" xlink:to="us-gaap_OperatingExpensesAbstract_638497262837749487" 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/2023/elts/us-gaap-2023.xsd#us-gaap_SellingExpense" xlink:label="us-gaap_SellingExpense_638497262837749487" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638497262837749487" xlink:to="us-gaap_SellingExpense_638497262837749487" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense_638497262837749487" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638497262837749487" xlink:to="us-gaap_GeneralAndAdministrativeExpense_638497262837749487" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense_638497262837749487" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638497262837749487" xlink:to="us-gaap_ResearchAndDevelopmentExpense_638497262837749487" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherOperatingIncomeExpenseNet" xlink:label="us-gaap_OtherOperatingIncomeExpenseNet_638497262837749487" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract_638497262837749487" xlink:to="us-gaap_OtherOperatingIncomeExpenseNet_638497262837749487" 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/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses_638497262837749487" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837739497" xlink:to="us-gaap_OperatingExpenses_638497262837749487" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss_638497262837759479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837739497" xlink:to="us-gaap_OperatingIncomeLoss_638497262837759479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_638497262837759479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837739497" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_638497262837759479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense_638497262837759479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638497262837759479" xlink:to="us-gaap_InterestExpense_638497262837759479" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentIncomeInterest" xlink:label="us-gaap_InvestmentIncomeInterest_638497262837759479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638497262837759479" xlink:to="us-gaap_InvestmentIncomeInterest_638497262837759479" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262837759479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638497262837759479" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262837759479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638497262837759479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638497262837759479" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638497262837759479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnInvestments" xlink:label="us-gaap_GainLossOnInvestments_638497262837759479" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638497262837759479" xlink:to="us-gaap_GainLossOnInvestments_638497262837759479" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="us-gaap_NonoperatingIncomeExpense_638497262837769749" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NonoperatingIncomeExpenseAbstract_638497262837759479" xlink:to="us-gaap_NonoperatingIncomeExpense_638497262837769749" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638497262837769749" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837739497" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_638497262837769749" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638497262837769749" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837739497" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638497262837769749" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_638497262837769749" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837739497" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_638497262837769749" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic" xlink:label="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638497262837769749" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837739497" xlink:to="us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic_638497262837769749" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </presentationLink>
  <presentationLink xlink:role="http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails" xlink:type="extended" xlink:title="42805 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (Details)" xmlns="http://www.xbrl.org/2003/linkbase">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837779493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837779493" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638497262837779493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837779493" xlink:to="srt_ConsolidationItemsAxis_638497262837779493" order="1" use="optional" priority="4" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638497262837779493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638497262837779493" xlink:to="srt_ConsolidationItemsDomain_638497262837779493" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_638497262837779493" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638497262837779493" xlink:to="srt_ReportableLegalEntitiesMember_638497262837779493" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638497262837789492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837779493" xlink:to="srt_ConsolidatedEntitiesAxis_638497262837789492" order="2" use="optional" priority="5" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638497262837789492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638497262837789492" xlink:to="srt_ConsolidatedEntitiesDomain_638497262837789492" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_638497262837789492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638497262837789492" xlink:to="srt_ParentCompanyMember_638497262837789492" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837789492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837779493" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837789492" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638497262837789492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837789492" xlink:to="us-gaap_ProfitLoss_638497262837789492" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638497262837789492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837789492" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638497262837789492" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_638497262837789492" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837789492" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_638497262837789492" 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="42806 - 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/2023/elts/srt-2023.xsd#srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:label="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScheduleOfCondensedFinancialStatementsTable" xlink:label="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837799485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract" xlink:to="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837799485" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638497262837799485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837799485" xlink:to="srt_ConsolidatedEntitiesAxis_638497262837799485" order="1" use="optional" priority="6" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638497262837799485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638497262837799485" xlink:to="srt_ConsolidatedEntitiesDomain_638497262837799485" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ParentCompanyMember" xlink:label="srt_ParentCompanyMember_638497262837799485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638497262837799485" xlink:to="srt_ParentCompanyMember_638497262837799485" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638497262837799485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837799485" xlink:to="srt_ConsolidationItemsAxis_638497262837799485" order="2" use="optional" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638497262837799485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638497262837799485" xlink:to="srt_ConsolidationItemsDomain_638497262837799485" order="1" use="optional" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ReportableLegalEntitiesMember" xlink:label="srt_ReportableLegalEntitiesMember_638497262837799485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638497262837799485" xlink:to="srt_ReportableLegalEntitiesMember_638497262837799485" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CondensedFinancialStatementsCaptionsLineItems" xlink:label="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837809486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ScheduleOfCondensedFinancialStatementsTable_638497262837799485" xlink:to="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837809486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837809486" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638497262837809486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" xlink:to="us-gaap_ProfitLoss_638497262837809486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" xlink:to="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638497262837809486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638497262837809486" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense_638497262837809486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" xlink:to="us-gaap_AccretionExpense_638497262837809486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638497262837809486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_638497262837809486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss" xlink:label="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262837809486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" xlink:to="us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss_638497262837809486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638497262837809486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638497262837809486" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_EquityIncomeLossFromSubsidiaries" xlink:label="csiq_EquityIncomeLossFromSubsidiaries_638497262837869485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" xlink:to="csiq_EquityIncomeLossFromSubsidiaries_638497262837869485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638497262837869485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" xlink:to="us-gaap_ShareBasedCompensation_638497262837869485" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638497262837869485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638497262837869485" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262837869485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262837869485" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638497262837869485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262837869485" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638497262837869485" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638497262837869485" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262837869485" xlink:to="us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent_638497262837869485" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638497262837879494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262837869485" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638497262837879494" 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/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherNoncurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638497262837879494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262837869485" xlink:to="us-gaap_IncreaseDecreaseInOtherNoncurrentAssets_638497262837879494" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableTrade" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638497262837879494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262837869485" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableTrade_638497262837879494" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent" xlink:label="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638497262837879494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262837869485" xlink:to="us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent_638497262837879494" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherCurrentLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_638497262837879494" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638497262837869485" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentLiabilities_638497262837879494" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes" xlink:label="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638497262837889482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" xlink:to="csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes_638497262837889482" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnSaleOfDerivatives" xlink:label="us-gaap_GainLossOnSaleOfDerivatives_638497262837889482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" xlink:to="us-gaap_GainLossOnSaleOfDerivatives_638497262837889482" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262837889482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638497262837809486" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638497262837889482" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262837889482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837809486" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262837889482" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PaymentsToAcquireSubsidiaries" xlink:label="csiq_PaymentsToAcquireSubsidiaries_638497262837889482" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262837889482" xlink:to="csiq_PaymentsToAcquireSubsidiaries_638497262837889482" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PaymentsToAcquireAffiliates" xlink:label="csiq_PaymentsToAcquireAffiliates_638497262837899495" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262837889482" xlink:to="csiq_PaymentsToAcquireAffiliates_638497262837899495" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_PaymentsForProceedsFromLoansToSubsidiaries" xlink:label="csiq_PaymentsForProceedsFromLoansToSubsidiaries_638497262837899495" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262837889482" xlink:to="csiq_PaymentsForProceedsFromLoansToSubsidiaries_638497262837899495" 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/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentOfNotesReceivableFromRelatedParties" xlink:label="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_638497262837899495" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262837889482" xlink:to="us-gaap_RepaymentOfNotesReceivableFromRelatedParties_638497262837899495" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262837899495" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638497262837889482" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638497262837899495" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262837899495" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837809486" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262837899495" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromRepaymentsOfNotesPayable" xlink:label="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638497262837909486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262837899495" xlink:to="us-gaap_ProceedsFromRepaymentsOfNotesPayable_638497262837909486" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_RepaymentOfLoanFromSubsidiaries" xlink:label="csiq_RepaymentOfLoanFromSubsidiaries_638497262837909486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262837899495" xlink:to="csiq_RepaymentOfLoanFromSubsidiaries_638497262837909486" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <loc xlink:type="locator" xlink:href="csiq-20231231.xsd#csiq_ProceedsFromLoansFromSubsidiaries" xlink:label="csiq_ProceedsFromLoansFromSubsidiaries_638497262837909486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262837899495" xlink:to="csiq_ProceedsFromLoansFromSubsidiaries_638497262837909486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_638497262837909486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262837899495" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_638497262837909486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromMinorityShareholders" xlink:label="us-gaap_ProceedsFromMinorityShareholders_638497262837909486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262837899495" xlink:to="us-gaap_ProceedsFromMinorityShareholders_638497262837909486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262837909486" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638497262837899495" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638497262837909486" 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/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638497262837919481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837809486" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_638497262837919481" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638497262837919481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837809486" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638497262837919481" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638497262837919481" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837809486" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638497262837919481" 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/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6384972628379194811" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837809486" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6384972628379194811" 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/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_638497262837929480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_CondensedFinancialStatementsCaptionsLineItems_638497262837809486" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_638497262837929480" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet_638497262837929480" />
    <presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638497262837929480" xlink:to="us-gaap_InterestPaidNet_638497262837929480" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506707776">
<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, 2023 </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_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2023<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_DocumentShellCompanyReport', window );">Document Shell Company 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_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_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="nump">66,158,741<span></span>
</td>
</tr>
<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_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</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_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction [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_DocumentAccountingStandard', window );">Document Accounting Standard</a></td>
<td class="text">U.S. GAAP<span></span>
</td>
</tr>
<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_EntityShellCompany', window );">Entity Shell Company</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_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<span></span>
</td>
</tr>
<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_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
</tr>
<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_AuditorName', window );">Auditor Name</a></td>
<td class="text">Deloitte Touche Tohmatsu Certified Public Accountants LLP<span></span>
</td>
</tr>
<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_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Shanghai, China<span></span>
</td>
</tr>
<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_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="ro">
<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="re">
<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="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_CityAreaCode', window );">City Area Code</a></td>
<td class="text">1 519<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">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_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 whether any of the financial statement period in the filing include a restatement due to error correction.</p></div>
<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-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: 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 4: 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_DocumentFinStmtErrorCorrectionFlag</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>16
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506174400">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 1,938,689<span></span>
</td>
<td class="nump">$ 981,434<span></span>
</td>
</tr>
<tr class="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">999,933<span></span>
</td>
<td class="nump">978,116<span></span>
</td>
</tr>
<tr class="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">904,943<span></span>
</td>
<td class="nump">970,950<span></span>
</td>
</tr>
<tr class="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">101,435<span></span>
</td>
<td class="nump">57,770<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">1,179,641<span></span>
</td>
<td class="nump">1,524,095<span></span>
</td>
</tr>
<tr class="re">
<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">162,737<span></span>
</td>
<td class="nump">158,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_AdvancesOnInventoryPurchases', window );">Advances to suppliers, net</a></td>
<td class="nump">193,818<span></span>
</td>
<td class="nump">253,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_DerivativeAssetsCurrent', window );">Derivative assets</a></td>
<td class="nump">9,282<span></span>
</td>
<td class="nump">17,516<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_ProjectAssetsPlantsAndLandCurrentPortion', window );">Project assets</a></td>
<td class="nump">280,793<span></span>
</td>
<td class="nump">385,964<span></span>
</td>
</tr>
<tr class="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">283,600<span></span>
</td>
<td class="nump">267,941<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">6,095,453<span></span>
</td>
<td class="nump">5,644,657<span></span>
</td>
</tr>
<tr class="re">
<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">7,810<span></span>
</td>
<td class="nump">9,953<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">3,088,442<span></span>
</td>
<td class="nump">1,826,643<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_SolarPowerSystems', window );">Solar power systems, net</a></td>
<td class="nump">951,513<span></span>
</td>
<td class="nump">364,816<span></span>
</td>
</tr>
<tr class="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, net</a></td>
<td class="nump">263,458<span></span>
</td>
<td class="nump">229,226<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_AdvancesOnInventoryPurchasesNonCurrent', window );">Advances to suppliers, net</a></td>
<td class="nump">132,218<span></span>
</td>
<td class="nump">65,352<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestments', window );">Investments in affiliates</a></td>
<td class="nump">236,928<span></span>
</td>
<td class="nump">115,784<span></span>
</td>
</tr>
<tr class="re">
<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">19,727<span></span>
</td>
<td class="nump">17,530<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 );">Project assets</a></td>
<td class="nump">576,793<span></span>
</td>
<td class="nump">438,529<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right-of-use assets</a></td>
<td class="nump">237,007<span></span>
</td>
<td class="nump">103,600<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent', window );">Amounts due from related parties</a></td>
<td class="nump">32,313<span></span>
</td>
<td class="nump">33,489<span></span>
</td>
</tr>
<tr class="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">254,098<span></span>
</td>
<td class="nump">187,549<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">11,895,760<span></span>
</td>
<td class="nump">9,037,128<span></span>
</td>
</tr>
<tr class="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_ShortTermBorrowings', window );">Short-term borrowings</a></td>
<td class="nump">1,805,198<span></span>
</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_AccountsPayableTradeCurrent', window );">Accounts payable</a></td>
<td class="nump">813,677<span></span>
</td>
<td class="nump">805,300<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">878,285<span></span>
</td>
<td class="nump">1,493,399<span></span>
</td>
</tr>
<tr class="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">1,359,679<span></span>
</td>
<td class="nump">853,040<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Advances from customers</a></td>
<td class="nump">392,308<span></span>
</td>
<td class="nump">334,943<span></span>
</td>
</tr>
<tr class="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">6,702<span></span>
</td>
<td class="nump">25,359<span></span>
</td>
</tr>
<tr class="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">20,204<span></span>
</td>
<td class="nump">9,810<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,864,391<span></span>
</td>
<td class="nump">5,258,768<span></span>
</td>
</tr>
<tr class="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">1,265,965<span></span>
</td>
<td class="nump">813,406<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_GreenBondsAndConvertibleDebtNoncurrent', window );">Green bonds and convertible notes</a></td>
<td class="nump">389,033<span></span>
</td>
<td class="nump">257,615<span></span>
</td>
</tr>
<tr class="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,701<span></span>
</td>
<td class="nump">5,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_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="nump">82,828<span></span>
</td>
<td class="nump">66,630<span></span>
</td>
</tr>
<tr class="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">116,846<span></span>
</td>
<td class="nump">25,714<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other non-current liabilities</a></td>
<td class="nump">465,752<span></span>
</td>
<td class="nump">302,571<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">8,190,516<span></span>
</td>
<td class="nump">6,730,434<span></span>
</td>
</tr>
<tr class="re">
<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="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,506,055 and 66,158,741 shares issued and outstanding at December 31, 2022 and 2023, 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">292,737<span></span>
</td>
<td class="nump">1,127<span></span>
</td>
</tr>
<tr class="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,549,707<span></span>
</td>
<td class="nump">1,275,520<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(118,744)<span></span>
</td>
<td class="num">(170,551)<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">2,559,243<span></span>
</td>
<td class="nump">1,941,639<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterest', window );">Non-controlling interests</a></td>
<td class="nump">1,146,001<span></span>
</td>
<td class="nump">365,055<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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">TOTAL EQUITY</a></td>
<td class="nump">3,705,244<span></span>
</td>
<td class="nump">2,306,694<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">11,895,760<span></span>
</td>
<td class="nump">9,037,128<span></span>
</td>
</tr>
<tr class="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=us-gaap_RelatedPartyMember', window );">Related party</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_OtherReceivablesNetCurrent', window );">Amounts due from related parties</a></td>
<td class="nump">40,582<span></span>
</td>
<td class="nump">48,614<span></span>
</td>
</tr>
<tr class="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_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">511<span></span>
</td>
<td class="nump">89<span></span>
</td>
</tr>
<tr class="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=us-gaap_NonrelatedPartyMember', window );">Non-related party</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_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_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">$ 587,827<span></span>
</td>
<td class="nump">$ 293,012<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_GreenBondsAndConvertibleDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 information pertaining to green bonds and convertible 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;">csiq_GreenBondsAndConvertibleDebtNoncurrent</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> -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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483466/210-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483466/210-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_MinorityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_OtherReceivableAfterAllowanceForCreditLossNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 receivable classified as other and 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/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherReceivablesNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, of receivables classified as other, due within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -SubTopic 210<br> -Topic 954<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480632/954-210-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-5<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483550/848-10-65-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-3<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 38: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 40: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 41: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-15<br><br>Reference 42: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-16<br><br>Reference 43: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=us-gaap_RelatedPartyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=us-gaap_NonrelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=us-gaap_NonrelatedPartyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>17
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413714305440">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">66,158,741<span></span>
</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_us-gaap_CommonStockSharesOutstanding', window );">Common shares, shares outstanding (in shares)</a></td>
<td class="nump">66,158,741<span></span>
</td>
<td class="nump">64,506,055<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>18
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413501977984">
<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, 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_IncomeStatementAbstract', window );"><strong>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_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Net revenues</a></td>
<td class="nump">$ 7,613,626<span></span>
</td>
<td class="nump">$ 7,468,610<span></span>
</td>
<td class="nump">$ 5,277,169<span></span>
</td>
</tr>
<tr class="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,333,643<span></span>
</td>
<td class="nump">6,205,474<span></span>
</td>
<td class="nump">4,367,857<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,279,983<span></span>
</td>
<td class="nump">1,263,136<span></span>
</td>
<td class="nump">909,312<span></span>
</td>
</tr>
<tr class="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_SellingAndMarketingExpense', window );">Selling and distribution expenses</a></td>
<td class="nump">369,670<span></span>
</td>
<td class="nump">558,926<span></span>
</td>
<td class="nump">398,650<span></span>
</td>
</tr>
<tr class="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">440,488<span></span>
</td>
<td class="nump">342,129<span></span>
</td>
<td class="nump">308,942<span></span>
</td>
</tr>
<tr class="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">100,844<span></span>
</td>
<td class="nump">69,822<span></span>
</td>
<td class="nump">58,407<span></span>
</td>
</tr>
<tr class="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="num">(84,339)<span></span>
</td>
<td class="num">(63,802)<span></span>
</td>
<td class="num">(47,068)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">826,663<span></span>
</td>
<td class="nump">907,075<span></span>
</td>
<td class="nump">718,931<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">453,320<span></span>
</td>
<td class="nump">356,061<span></span>
</td>
<td class="nump">190,381<span></span>
</td>
</tr>
<tr class="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 (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_InterestExpense', window );">Interest expense</a></td>
<td class="num">(114,099)<span></span>
</td>
<td class="num">(74,266)<span></span>
</td>
<td class="num">(58,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_InvestmentIncomeInterest', window );">Interest income</a></td>
<td class="nump">51,621<span></span>
</td>
<td class="nump">40,615<span></span>
</td>
<td class="nump">11,051<span></span>
</td>
</tr>
<tr class="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">(27,504)<span></span>
</td>
<td class="num">(44,489)<span></span>
</td>
<td class="nump">23,785<span></span>
</td>
</tr>
<tr class="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">30,555<span></span>
</td>
<td class="nump">77,689<span></span>
</td>
<td class="num">(47,234)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnInvestments', window );">Investment income, net</a></td>
<td class="nump">14,632<span></span>
</td>
<td class="nump">858<span></span>
</td>
<td class="nump">18,634<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_NonoperatingIncomeExpense', window );">Total other income (expenses)</a></td>
<td class="num">(44,795)<span></span>
</td>
<td class="nump">407<span></span>
</td>
<td class="num">(51,917)<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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments', window );">Income before income taxes and equity in earnings of affiliates</a></td>
<td class="nump">408,525<span></span>
</td>
<td class="nump">356,468<span></span>
</td>
<td class="nump">138,464<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense</a></td>
<td class="num">(59,501)<span></span>
</td>
<td class="num">(73,353)<span></span>
</td>
<td class="num">(35,844)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromEquityMethodInvestments', window );">Equity in earnings of affiliates</a></td>
<td class="nump">14,610<span></span>
</td>
<td class="nump">15,440<span></span>
</td>
<td class="nump">7,256<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_ProfitLoss', window );">Net income</a></td>
<td class="nump">363,634<span></span>
</td>
<td class="nump">298,555<span></span>
</td>
<td class="nump">109,876<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Less: net income attributable to non-controlling interests</a></td>
<td class="nump">89,447<span></span>
</td>
<td class="nump">58,587<span></span>
</td>
<td class="nump">14,628<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">$ 274,187<span></span>
</td>
<td class="nump">$ 239,968<span></span>
</td>
<td class="nump">$ 95,248<span></span>
</td>
</tr>
<tr class="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 );">Earnings per share - basic</a></td>
<td class="nump">$ 4.19<span></span>
</td>
<td class="nump">$ 3.73<span></span>
</td>
<td class="nump">$ 1.55<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Shares used in computation - basic</a></td>
<td class="nump">65,375,084<span></span>
</td>
<td class="nump">64,324,558<span></span>
</td>
<td class="nump">61,614,391<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Earnings per share - diluted</a></td>
<td class="nump">$ 3.87<span></span>
</td>
<td class="nump">$ 3.44<span></span>
</td>
<td class="nump">$ 1.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_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Shares used in computation - diluted</a></td>
<td class="nump">72,194,006<span></span>
</td>
<td class="nump">71,183,135<span></span>
</td>
<td class="nump">68,872,102<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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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 realized and unrealized gain (loss) from foreign currency transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482014/830-20-35-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481956/830-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481926/830-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481839/830-10-45-17<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of realized and unrealized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(c),9(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 6.B)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-5<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-11<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506742960">
<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, 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_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">$ 363,634<span></span>
</td>
<td class="nump">$ 298,555<span></span>
</td>
<td class="nump">$ 109,876<span></span>
</td>
</tr>
<tr class="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="nump">8,141<span></span>
</td>
<td class="num">(150,127)<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_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax', window );">Gain (loss) on changes in fair value of available-for-sale debt securities, net of tax</a></td>
<td class="num">(3,487)<span></span>
</td>
<td class="nump">904<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</a></td>
<td class="num">(1,124)<span></span>
</td>
<td class="nump">716<span></span>
</td>
<td class="nump">59<span></span>
</td>
</tr>
<tr class="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 gain on changes in fair value of interest rate swap of affiliate, net of tax</a></td>
<td class="nump">11,264<span></span>
</td>
<td class="nump">3,754<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_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest', window );">Comprehensive income</a></td>
<td class="nump">378,428<span></span>
</td>
<td class="nump">153,802<span></span>
</td>
<td class="nump">83,639<span></span>
</td>
</tr>
<tr class="re">
<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">90,829<span></span>
</td>
<td class="nump">34,345<span></span>
</td>
<td class="nump">10,296<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">$ 287,599<span></span>
</td>
<td class="nump">$ 119,457<span></span>
</td>
<td class="nump">$ 73,343<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a-c)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481839/830-10-45-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482014/830-20-35-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480627/815-20-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (dd)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4C<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>20
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413508186096">
<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>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, 2020</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 687,033<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>
</tr>
<tr class="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>
</tr>
<tr class="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="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">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="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="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="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="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_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Exercise of 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>
</tr>
<tr class="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>[1]</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="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>[1]</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>
</tr>
<tr class="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="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="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="nump">10,003<span></span>
</td>
<td class="nump">10,003<span></span>
</td>
</tr>
<tr class="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="num">(6,588)<span></span>
</td>
<td class="num">(6,588)<span></span>
</td>
</tr>
<tr class="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 (interest rate swap)</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">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="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>
</tr>
<tr class="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>
</tr>
<tr class="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="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">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="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="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="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="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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Exercise of 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>
</tr>
<tr class="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 subsidiary to non-controlling interest</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></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_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="nump">2,529<span></span>
</td>
<td class="nump">2,529<span></span>
</td>
</tr>
<tr class="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="num">(1,268)<span></span>
</td>
<td class="num">(1,268)<span></span>
</td>
</tr>
<tr class="ro">
<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="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="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 (interest rate swap)</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">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="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 fair value change on interest rate swap 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="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="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="nump">64,506,055<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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="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">274,187<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">274,187<span></span>
</td>
<td class="nump">89,447<span></span>
</td>
<td class="nump">$ 363,634<span></span>
</td>
</tr>
<tr class="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="nump">6,759<span></span>
</td>
<td class="nump">6,759<span></span>
</td>
<td class="nump">1,382<span></span>
</td>
<td class="nump">8,141<span></span>
</td>
</tr>
<tr class="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="nump">46,981<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46,981<span></span>
</td>
<td class="nump">8,354<span></span>
</td>
<td class="nump">55,335<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Exercise of RSUs (in shares)</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[2]</sup></td>
<td class="nump">1,652,686<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 subsidiary to non-controlling interest</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">244,629<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">38,395<span></span>
</td>
<td class="nump">283,024<span></span>
</td>
<td class="nump">644,873<span></span>
</td>
<td class="nump">927,897<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Sales proceed distribution to 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="num">(3,990)<span></span>
</td>
<td class="num">(3,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_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="num">(1,446)<span></span>
</td>
<td class="num">(1,446)<span></span>
</td>
</tr>
<tr class="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="nump">5,910<span></span>
</td>
<td class="nump">5,910<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_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan', window );">Subsidiary's shares under employee incentive plan</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">36,416<span></span>
</td>
<td class="nump">36,416<span></span>
</td>
</tr>
<tr class="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="num">(3,487)<span></span>
</td>
<td class="num">(3,487)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,487)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax', window );">Fair value change on derivatives (interest rate swap)</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="num">(1,124)<span></span>
</td>
<td class="num">(1,124)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,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_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax', window );">Share of fair value change on interest rate swap 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="nump">11,264<span></span>
</td>
<td class="nump">11,264<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,264<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, 2023</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 835,543<span></span>
</td>
<td class="nump">$ 292,737<span></span>
</td>
<td class="nump">$ 1,549,707<span></span>
</td>
<td class="num">$ (118,744)<span></span>
</td>
<td class="nump">$ 2,559,243<span></span>
</td>
<td class="nump">$ 1,146,001<span></span>
</td>
<td class="nump">$ 3,705,244<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, 2023</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">66,158,741<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">66,158,741<span></span>
</td>
</tr>
<tr><td colspan="8"></td></tr>
<tr><td colspan="8"><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;">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>
<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;">Represented the net proceeds of RMB</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">6,628,683</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;">$927,897</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">), after deducting the offering expenses of RMB</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">277,929</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;">$38,995</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">), from the IPO of CSI Solar Co., Ltd in 2023. Refer to Note 26 to the consolidated financial statements for further information.</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_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 shares of subsidiary under employee 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_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan</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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(g))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-23<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-23<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-23<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(2)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a-c)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481839/830-10-45-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482014/830-20-35-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480627/815-20-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (dd)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4C<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483421/250-10-45-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-5<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480528/815-20-65-6<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483550/848-10-65-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479343/105-10-65-6<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482615/740-10-65-8<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479654/326-10-65-4<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 15<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480336/718-10-65-15<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-3<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 38: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 40: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 41: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-15<br><br>Reference 42: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-16<br><br>Reference 43: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413714302080">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)<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>May 27, 2021 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </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_PaymentsOfStockIssuanceCosts', window );">Commissions and offering expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 38,995<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="re">
<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="ro">
<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_dei_LegalEntityAxis=csiq_CsiSolarCoLtdMember', window );">CSI Solar 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts', window );">Net proceeds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">927,897<span></span>
</td>
<td class="nump">&#165; 6,628,683<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">$ 38,995<span></span>
</td>
<td class="nump">&#165; 277,929<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 subsidiary offerings, net of transaction 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_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts</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_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_dei_LegalEntityAxis=csiq_CsiSolarCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CsiSolarCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>22
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413507839520">
<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, 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_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">$ 363,634<span></span>
</td>
<td class="nump">$ 298,555<span></span>
</td>
<td class="nump">$ 109,876<span></span>
</td>
</tr>
<tr class="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">307,040<span></span>
</td>
<td class="nump">234,559<span></span>
</td>
<td class="nump">282,769<span></span>
</td>
</tr>
<tr class="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 green bonds and convertible notes</a></td>
<td class="nump">2,145<span></span>
</td>
<td class="nump">1,302<span></span>
</td>
<td class="nump">1,461<span></span>
</td>
</tr>
<tr class="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">(5,342)<span></span>
</td>
<td class="num">(4,259)<span></span>
</td>
<td class="nump">83<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 );">Loss on disposal of solar power systems</a></td>
<td class="nump">244<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,091)<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="num">(10,392)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetImpairmentCharges', window );">Impairment loss of property, plant and equipment</a></td>
<td class="nump">5,938<span></span>
</td>
<td class="nump">60,330<span></span>
</td>
<td class="nump">6,084<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">16,239<span></span>
</td>
<td class="nump">1,674<span></span>
</td>
<td class="nump">17,152<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_InvestmentsInAffiliatesImpairmentCharge', window );">Impairment loss of investments in affiliates</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">357<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_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Loss (gain) on change in fair value of derivatives, net</a></td>
<td class="nump">27,504<span></span>
</td>
<td class="nump">44,489<span></span>
</td>
<td class="num">(23,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_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Gain on change in fair value of other financial assets</a></td>
<td class="num">(12,696)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="num">(14,610)<span></span>
</td>
<td class="num">(15,440)<span></span>
</td>
<td class="num">(7,256)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Allowance for credit losses</a></td>
<td class="nump">12,014<span></span>
</td>
<td class="nump">5,773<span></span>
</td>
<td class="nump">7,615<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_NonCashOperatingLeaseExpenses', window );">Non-cash operating lease expenses</a></td>
<td class="nump">18,844<span></span>
</td>
<td class="nump">13,208<span></span>
</td>
<td class="nump">14,321<span></span>
</td>
</tr>
<tr class="re">
<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">113,079<span></span>
</td>
<td class="nump">7,475<span></span>
</td>
<td class="nump">14,070<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="nump">55,335<span></span>
</td>
<td class="nump">9,370<span></span>
</td>
<td class="nump">8,808<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_UnrealizedGainLossFromSalesToInvestees', window );">Unrealized gain from sales to affiliates</a></td>
<td class="nump">2,892<span></span>
</td>
<td class="nump">5,971<span></span>
</td>
<td class="nump">35,890<span></span>
</td>
</tr>
<tr class="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="num">(17,908)<span></span>
</td>
<td class="nump">16,908<span></span>
</td>
<td class="num">(67,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_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="nump">58,985<span></span>
</td>
<td class="num">(357,276)<span></span>
</td>
<td class="num">(284,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_IncreaseDecreaseInContractWithCustomerAsset', window );">Accounts receivable, unbilled</a></td>
<td class="num">(43,571)<span></span>
</td>
<td class="num">(23,367)<span></span>
</td>
<td class="num">(8,783)<span></span>
</td>
</tr>
<tr class="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="nump">9,210<span></span>
</td>
<td class="num">(4,451)<span></span>
</td>
<td class="num">(68,912)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="nump">182,767<span></span>
</td>
<td class="num">(406,343)<span></span>
</td>
<td class="num">(518,741)<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">(5,985)<span></span>
</td>
<td class="num">(43,881)<span></span>
</td>
<td class="num">(21,873)<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="nump">54,915<span></span>
</td>
<td class="num">(52,893)<span></span>
</td>
<td class="num">(30,416)<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">(349,830)<span></span>
</td>
<td class="num">(302,839)<span></span>
</td>
<td class="num">(73,375)<span></span>
</td>
</tr>
<tr class="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="num">(22,277)<span></span>
</td>
<td class="nump">151,663<span></span>
</td>
<td class="num">(85,754)<span></span>
</td>
</tr>
<tr class="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">(33,597)<span></span>
</td>
<td class="num">(17,350)<span></span>
</td>
<td class="nump">20,357<span></span>
</td>
</tr>
<tr class="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">13,115<span></span>
</td>
<td class="nump">351,535<span></span>
</td>
<td class="nump">11,023<span></span>
</td>
</tr>
<tr class="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="num">(590,418)<span></span>
</td>
<td class="nump">721,039<span></span>
</td>
<td class="nump">150,982<span></span>
</td>
</tr>
<tr class="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="nump">427<span></span>
</td>
<td class="num">(54)<span></span>
</td>
<td class="num">(171)<span></span>
</td>
</tr>
<tr class="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="nump">169,944<span></span>
</td>
<td class="num">(417)<span></span>
</td>
<td class="nump">126,215<span></span>
</td>
</tr>
<tr class="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">59,383<span></span>
</td>
<td class="nump">209,855<span></span>
</td>
<td class="num">(53,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_IncreaseDecreaseInOperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="num">(14,571)<span></span>
</td>
<td class="num">(14,160)<span></span>
</td>
<td class="num">(14,156)<span></span>
</td>
</tr>
<tr class="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">337,055<span></span>
</td>
<td class="nump">68,492<span></span>
</td>
<td class="nump">51,248<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">(29)<span></span>
</td>
<td class="num">(1,718)<span></span>
</td>
<td class="num">(7,281)<span></span>
</td>
</tr>
<tr class="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">(39,133)<span></span>
</td>
<td class="num">(31,851)<span></span>
</td>
<td class="nump">31,886<span></span>
</td>
</tr>
<tr class="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="nump">23,873<span></span>
</td>
<td class="num">(9,625)<span></span>
</td>
<td class="num">(10,939)<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">684,615<span></span>
</td>
<td class="nump">916,631<span></span>
</td>
<td class="num">(408,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_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">(113,404)<span></span>
</td>
<td class="num">(19,355)<span></span>
</td>
<td class="num">(54,004)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries', window );">Acquisition of subsidiaries, net of cash</a></td>
<td class="num">(9,448)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireEquitySecuritiesFvNi', window );">Investment in equity securities</a></td>
<td class="num">(427)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">2,759<span></span>
</td>
<td class="nump">7,083<span></span>
</td>
<td class="nump">2,671<span></span>
</td>
</tr>
<tr class="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="nump">301<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,311<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchase of property, plant and equipment</a></td>
<td class="num">(1,116,461)<span></span>
</td>
<td class="num">(627,115)<span></span>
</td>
<td class="num">(428,725)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasePaymentsUse', window );">Acquisition of right-of-use assets</a></td>
<td class="num">(36,121)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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">10,317<span></span>
</td>
<td class="nump">7,479<span></span>
</td>
<td class="nump">18,555<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_PaymentsToAcquireSolarPowerSystems', window );">Purchase of solar power systems</a></td>
<td class="num">(408,999)<span></span>
</td>
<td class="num">(882)<span></span>
</td>
<td class="num">(775)<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_ProceedsFromSaleOrDisposalOfSolarPowerSystems', window );">Proceeds from disposal of solar power systems</a></td>
<td class="nump">67<span></span>
</td>
<td class="nump">2,302<span></span>
</td>
<td class="nump">18,397<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(1,671,416)<span></span>
</td>
<td class="num">(630,488)<span></span>
</td>
<td class="num">(429,570)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>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="re">
<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,566,240<span></span>
</td>
<td class="nump">1,387,537<span></span>
</td>
<td class="nump">1,742,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_RepaymentsOfNotesPayable', window );">Repayment of short-term borrowings</a></td>
<td class="num">(1,603,571)<span></span>
</td>
<td class="num">(1,695,563)<span></span>
</td>
<td class="num">(1,879,884)<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_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt', window );">Proceeds from long-term borrowings</a></td>
<td class="nump">1,016,931<span></span>
</td>
<td class="nump">770,368<span></span>
</td>
<td class="nump">588,082<span></span>
</td>
</tr>
<tr class="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 green bonds</a></td>
<td class="nump">121,023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="num">(1,446)<span></span>
</td>
<td class="text">&#160;<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_ProceedsFromMinorityShareholders', window );">Proceeds from non-controlling interests</a></td>
<td class="nump">5,910<span></span>
</td>
<td class="nump">15,109<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_PaymentsOfDividendsMinorityInterest', window );">Distribution to non - controlling interests</a></td>
<td class="num">(3,990)<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_ProceedsFromPaymentsToMinorityShareHolder', window );">Repayment to non-controlling interests</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6,588)<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">148,510<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_ProceedsFromSubsidiaryEquityOfferings', window );">Proceeds from subsidiary's offering of its equity interests</a></td>
<td class="nump">966,892<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Cash payment for transaction costs of subsidiary's offering</a></td>
<td class="num">(38,995)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations', window );">Repayment of financing liabilities</a></td>
<td class="num">(28,013)<span></span>
</td>
<td class="num">(29,595)<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_SaleLeasebackTransactionProceedsFinancingActivities', window );">Proceeds from sales-leaseback arrangement</a></td>
<td class="nump">91,648<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">45,693<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_RepaymentsOfFinanceLeaseObligation', window );">Repayments of finance lease obligation</a></td>
<td class="num">(39,801)<span></span>
</td>
<td class="num">(19,217)<span></span>
</td>
<td class="num">(23,090)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by financing activities</a></td>
<td class="nump">2,052,828<span></span>
</td>
<td class="nump">428,639<span></span>
</td>
<td class="nump">614,071<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes</a></td>
<td class="num">(89,098)<span></span>
</td>
<td class="num">(179,561)<span></span>
</td>
<td class="nump">18,320<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash, cash equivalents and restricted cash</a></td>
<td class="nump">976,929<span></span>
</td>
<td class="nump">535,221<span></span>
</td>
<td class="num">(205,433)<span></span>
</td>
</tr>
<tr class="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 beginning 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="text">&#160;<span></span>
</td>
</tr>
<tr class="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 end of the year</a></td>
<td class="nump">2,946,432<span></span>
</td>
<td class="nump">1,969,503<span></span>
</td>
<td class="nump">1,434,282<span></span>
</td>
</tr>
<tr class="ro">
<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="re">
<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">121,665<span></span>
</td>
<td class="nump">76,511<span></span>
</td>
<td class="nump">71,006<span></span>
</td>
</tr>
<tr class="ro">
<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">83,077<span></span>
</td>
<td class="nump">77,400<span></span>
</td>
<td class="nump">57,396<span></span>
</td>
</tr>
<tr class="re">
<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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ReclassificationFromProjectAssetsToSolarPowerSystems', window );">Reclassification from project assets to solar power systems</a></td>
<td class="nump">119,067<span></span>
</td>
<td class="nump">263,710<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_ReclassificationFromInventoriesToSolarPowerSystems', window );">Reclassification from inventories to solar power systems</a></td>
<td class="nump">46,197<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_BorrowingsAssumedByThirdPartiesWithProjectAssetSales', window );">Borrowings assumed by third parties with project asset sales</a></td>
<td class="nump">161,709<span></span>
</td>
<td class="nump">193,578<span></span>
</td>
<td class="nump">118,406<span></span>
</td>
</tr>
<tr class="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">$ 933,029<span></span>
</td>
<td class="nump">$ 549,883<span></span>
</td>
<td class="nump">$ 299,664<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_BorrowingsAssumedByThirdPartiesWithProjectAssetSales">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 borrowings assumed by third parties with project asset sales.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_BorrowingsAssumedByThirdPartiesWithProjectAssetSales</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_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_InvestmentsInAffiliatesImpairmentCharge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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_InvestmentsInAffiliatesImpairmentCharge</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_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_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_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_ProceedsFromSubsidiaryEquityOfferings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 subsidiary equity offerings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ProceedsFromSubsidiaryEquityOfferings</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_ReclassificationFromInventoriesToSolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The value of inventories reclassified to solar power systems under non-cash activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ReclassificationFromInventoriesToSolarPowerSystems</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_ReclassificationFromProjectAssetsToSolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The value of project assets reclassified to solar power systems under non-cash activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ReclassificationFromProjectAssetsToSolarPowerSystems</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_RepaymentsOfFinanceLeaseObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_RepaymentsOfFinanceLeaseObligation</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_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/2003/role/exampleRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481639/420-10-35-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482130/360-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of an equity method investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 from asset measured at fair value on recurring basis 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> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7)(a)(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7)(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7)(a)(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.13(h))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482312/912-310-45-11<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_OperatingLeasePaymentsUse">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePaymentsUse</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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_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_PaymentsOfDividendsMinorityInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 in the form of ordinary dividends provided by the non-wholly owned subsidiary to 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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividendsMinorityInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_PaymentsToAcquireAdditionalInterestInSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 noncontrolling interest during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_PaymentsToAcquireEquitySecuritiesFvNi">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 acquire investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI), classified as investing 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/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-19<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 321<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479567/321-10-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireEquitySecuritiesFvNi</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToMinorityShareholders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToMinorityShareholders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-21D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_RepaymentsOfDebtAndCapitalLeaseObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 short-term and long-term debt and lease 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_RepaymentsOfDebtAndCapitalLeaseObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>23
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506300432">
<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, 2023</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, 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">$ 1,938,689<span></span>
</td>
<td class="nump">$ 981,434<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">999,933<span></span>
</td>
<td class="nump">978,116<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">7,810<span></span>
</td>
<td class="nump">9,953<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">$ 2,946,432<span></span>
</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>
</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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -SubTopic 210<br> -Topic 954<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480632/954-210-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>24
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506250944">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>ORGANIZATION 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 12pt 0pt;">Canadian Solar Inc.(&#8220;CSI&#8221;) 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 energy storage solutions, and developer of utility-scale solar power and battery energy 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 12pt 0pt;">CSI was incorporated pursuant to the laws of the Province of Ontario in October 2001, and in 2006, changed its jurisdiction by continuing under the Canadian federal corporate statute, the Canada Business Corporations Act, or CBCA. 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 12pt 0pt;">In July 2020, the Company announced its plan to carve-out and publicly list its subsidiary, CSI Solar Co., Ltd. (&#8220;CSI Solar&#8221;) in China (the &#8220;IPO&#8221;). Refer to Note 22 for further information.To qualify CSI Solar 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 shares to third-party investors for an aggregate consideration of RMB1.50 billion (approximately $219,000 on the date of transaction), and selected employees also purchased existing CSI Solar shares from the Company for an aggregated consideration of RMB31 million (approximately $4,500 on the date of transaction), following which, the third-party investors and Canadian Solar employees, in aggregate, owned 20.4% of CSI Solar as of December 31, 2022. The Company&#8217;s wholly-owned global project development business, its Recurrent 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 0pt 12pt 0pt;">In addition, CSI Solar approved an employee incentive plan and utilized a limited liability partnership as a vehicle to hold CSI Solar shares that were used under the employee incentive plan. Eligible CSI Solar directors, employees and board members have collectively subscribed to equity interest in the partnership for an aggregate of RMB248 million ($36,342 on the date of transaction), for which the vesting conditions include the completion of the IPO and the service period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On June 9 , 2023, CSI Solar completed its IPO and its shares began trading on the Science and Technology Innovation Board (the &#8220;STAR Market&#8221;) of the Shanghai Stock Exchange (the &#8220;SSE&#8221;). In the STAR IPO, CSI Solar raised proceeds of $927,897, net of transaction costs. Upon completion of the IPO and as of December 31, 2023, the Company owned 62.24% of the outstanding CSI Solar shares. The Company continues to present CSI Solar as a segment subsequent to the IPO.</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, 2023, the Company operated two reportable segments as follows:</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:18pt;"></td><td style="font-family:'Times New 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 and battery energy storage manufacturing, and delivery of total system solutions, including inverters, solar system kits and EPC (engineering, procurement, and construction) services. CSI Solar&#8217;s e-STORAGE branded battery energy storage business includes its utility-scale turnkey battery system solutions, as well as a small but growing residential battery energy storage business. These storage systems solutions are complemented with long-term service agreements, including future battery capacity augmentation services.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 0pt 18pt;"><span style="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:18pt;"></td><td style="font-family:'Times New 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;">Recurrent Energy</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which is the Company&#8217;s clean energy project development platform with </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">15 years</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> of experience delivering solar power and battery energy storage projects. It is vertically integrated and has strong expertise in greenfield origination, development, financing, execution, operations and maintenance, and asset management.</span></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_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> -Name Accounting Standards Codification<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>25
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413500279072">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 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 $25,257 and $11,163 as of December 31, 2022 and 2023, 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 12pt 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 12pt 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 identification of performance obligation, determination and allocation of 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, warranty insurance receivable and other receivable, 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, the impairment on goodwill and intangible assets acquired, 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 12pt 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 12pt 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 short-term notes payable, letters of guarantee, letters of credit and bank borrowings. Upon maturity of the letters of guarantee and letters of credit, and repayment of short - term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 energy 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;margin:0pt 0pt 12pt 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 12pt 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, warranty insurance receivable and other receivable 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 has been 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, and a corresponding reduction in general and administrative expenses. The balance of receivable from these insurers in prepaid expenses and other current assets were $1,873 and $2,929 as of December 31, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 12pt 0pt;">When an impairment indicator suggests that the carrying amounts of inventories might not be recoverable, 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. Impairment indicators considered for these purposes are, among others, obsolescence and damages, decrease in market prices, and future demand forecast.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 6pt 0pt;">Project assets consist primarily of capitalized costs relating to solar power and battery energy storage assets in various stages of development prior to the intended sale of the solar power and battery energy storage projects. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar power and battery energy 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, lithium batteries, 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;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(j)&#160;&#160;&#160;&#160;Project assets (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Solar power and battery energy storage assets 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 and battery energy storage systems on the consolidated balance sheets. During the development phase, the Company capitalizes costs of the solar power and battery energy storage assets as guided by ASC 970. The costs to develop or construct solar power and battery energy storage assets 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 and battery energy storage systems, respectively. While the solar power and battery energy storage assets 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 power and battery energy storage assets is assessed based on the circumstances on each balance sheet date. Solar power and battery energy storage assets 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 12pt 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 less cost to sell 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 12pt 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 power and battery energy 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 power and battery energy 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 12pt 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 12pt 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. The Company includes the results of operations of the acquired business in the consolidated financial statements beginning on the acquisition date. For the year ended December 31, 2023, the Company completed three acquisitions that were not individually, nor in the aggregate, significant to the consolidated financial position, results of operations and cash flows of the Company.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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;"><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><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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: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;">10-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 12pt 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 12pt 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 12pt 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 12pt 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 solar power systems 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 12pt 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 are comprised of customer-related intangible assets that include customer relationships and backlog, trademark, 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;">Customer-related intangible assets</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;">&#160;&#160;&#160;&#160;</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;">7-20 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;">Trademark</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;">20 years</p></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 12pt 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;">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 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 12pt 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 12pt 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 12pt 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 12pt 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, 2021, 2022 and 2023, the Company recorded nil, $357 and nil 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 12pt 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 12pt 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 $6,084, $60,330 and $5,938 for the years ended December 31, 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(t)&#160;&#160;&#160;Advances from customers</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company may receive payments from customers in advance of the satisfaction of performance obligations primarily for inventory purchases. These current portion amounted to $334,943 and $392,308 as of December 31, 2022 and 2023, respectively, and the non-current portion amounted to nil and $52,693 as of December 31, 2022 and 2023, respectively. These current and non-current amounts are recognized as contract liabilities until the performance obligations are completed and are included as advances from customer and other non-current liabilities in the consolidated balance sheets, respectively, based on the expected timing of performance obligation of the contract liabilities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(u)&#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 $399 and $1,249 as of December 31, 2022 and 2023, respectively.</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;">(v)&#160;&#160;&#160;Leases</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#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;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;"><span style="font-size:1pt;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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;Income taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#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 12pt 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 (ac) 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 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#160;&#160;Revenue recognition (Continued)</span></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;">Battery energy 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 12pt 0pt;">The Company recognizes revenue for the sales of battery energy storage products, 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. Revenue from the delivery of turnkey battery energy storage solutions and EPC services is recognized over time based on the estimated progress to completion using a cost-based input method. This includes the advances that battery energy storage customers are required to make on the value of their battery energy 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;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 power and battery energy storage assets sales</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 and battery energy storage assets (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 or battery energy storage assets. For sales of solar power and battery energy storage assets 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 power and battery energy storage assets are often held in separate legal entities, trusts or investment funds which are formed for the special purpose of constructing the solar power and battery energy 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;"><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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#160;&#160;Revenue recognition (Continued)</span></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;">Power services (Operations and Maintenance, or &#8220;O&amp;M&#8221;) and asset management </i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Power services (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 power services (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 power services (O&amp;M) and asset management services are expensed when incurred.</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;">Electricity revenue from operating portfolio</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Electricity revenue from operating portfolio is generated primarily by the Company&#8217;s solar power plants under long-term PPAs, virtual power purchase agreements (&#8220;VPPAs&#8221;) 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, 2021, 2022 and 2023, the Company recognized performance-based energy incentives related to electricity generated of $9,402, $2,908 and $2,772, respectively, in revenue. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company evaluates offtake contracts, such as PPAs and VPPAs, and long-term contracts to determine whether the agreements is or contains a lease where the fulfillments of the arrangement is dependent on the use of specific asset and arrangement conveys to the customer the right to control the use of the asset. Where the Company determines that the contractual provisions of a contract contain, or are, a lease and result in the customer assuming the principal risks and rewards of ownership of the asset, the arrangement is a finance lease. Assets subject to finance leases are not reflected as solar power systems and the net investment in the lease, represented by the present value of the amounts due from the lessee, is recorded in the consolidated balance sheet as a finance lease receivable. The payments considered to be part of the leasing arrangement are apportioned between a reduction in the lease receivable and finance lease income. The finance lease income element of the payments is recognized using a method that results in a constant rate of return on the net investment in each period and is reflected in finance lease income on the consolidated statements of operations. Where the Company determines that the contractual provisions of a contract contain, or are, a lease and result in the Company retaining the principal risks and rewards of ownership of the asset, the arrangement is an operating lease. For operating leases, the asset is, or continues to be, capitalized as solar power systems and depreciated over its useful life. 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, 2021, 2022 and 2023 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;">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><td style="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;">2023</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,273</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;">Recurrent 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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 44,842</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 48,115</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 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#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;">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 $4,940, $4,736 and $4,434 for the years ended December 31, 2021, 2022 and 2023, respectively. The remaining amounts of $24,480, $19,099 and $43,681 for the years ended December 31, 2021, 2022 and 2023, respectively, including performance-based energy incentives are recorded in accordance with ASC 606. For the years ended December 31, 2021, 2022 and 2023, there was no revenue generated from finance lease. In 2023, the Company entered into a fixed-price VPPA for the offtake of the generation from one of its solar power systems. The VPPA is settled financially on a monthly basis. The Company&#8217;s VPPA contract does not meet the definition of a derivative because it does not have a notional amount.</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 12pt 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, 2021, 2022 and 2023 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;">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><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;">2023</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;"> 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><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,767,156</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;"> 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><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;"> 348,817</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;">Recurrent 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;"> 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><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;"> 399,826</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;"> 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><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;"> 97,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;"> 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><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,613,626</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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the year ended December 31, 2023, $398,545 of the Company&#8217;s revenue was recognized from the beginning balance of contract liabilities as of January 1, 2023. 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 $725,808 as of December 31, 2023 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:1.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;width:14.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.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:1.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;width:14.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-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.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 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;">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 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;">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;">2022</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;">2023</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;"> 57,770</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;"> 101,435</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;"> 334,943</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;"> 392,308</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;"><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.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;"> 71,808</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;"> 333,500</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;">Other non-current liabilities</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: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%;background:#cceeff;border-bottom:1px solid #000000;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:1.62%;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:14.8%;background:#cceeff;border-bottom:1px solid #000000;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,693</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="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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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%;border-bottom:3px double #000000;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><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: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%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 778,501</p></td></tr></table><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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(y)&#160;&#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 12pt 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 12pt 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 12pt 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, 2022 and 2023 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;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(z)&#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 within the CSI Solar segment of $316,358, $453,865 and $237,947, are included in selling and distribution expenses for the years ended December 31, 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)&#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 $58,407, $69,822 and $100,844 for the years ended December 31, 2021, 2022 and 2023, respectively.</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;">(ab)</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 12pt 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 weather-related project damages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 ROU assets, 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;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)</span><b style="font-weight:bold;">&#160;</b><span style="font-style:italic;font-weight:bold;">Other operating income, net </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 12pt 0pt;">As of December 31, 2023, the Company has $159,991 of government grants in other non-current liabilities.</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;">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><td style="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;">2023</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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (79,241)</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 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,342)</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) loss 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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 244</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;">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 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> (84,339)</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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac)&#160;Warranty costs</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 typically sold its 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, 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, and provided warranty against decline in performance for certain module types for a period of 25 years. The Company has also provided warranty against decline in performance for its bifacial module and double glass module products for 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 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac)&#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 12pt 0pt;">The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties related to defects that existed when the product was sold to the customer. 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 12pt 0pt;">The Company warrants its battery energy storage products for a specific amount of time against performance or manufacturing defects. The standard warranty is typically for an initial term of 1 to 5 years from the date of installation, and is accounted for as an assurance-type warranty, which provides a guarantee of quality, limited to specific usage parameters, and does not represent a separate performance obligation. Extended warranties and performance guarantees for up to an additional 15 years that the customers purchase separately are accounted for as separate performance obligations. The Company accrue warranty reserves at the time of recording the revenue.The Company continuously monitors its warranty failures and review its 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 suppliers to back up a portion of its battery energy storage warranties. The Company also records a liability for specific warranty matters when they become known and are reasonably estimable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 0pt;">The Company has historically entered into agreements with a group of insurance companies to back up a portion of its warranties on solar module products against defects. 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 $264 and $168 as of December 31, 2022 and 2023, respectively, and was included as a component of prepaid expenses and other current&#160;assets. 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 solar module 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 12pt 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;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac) Warranty costs (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 significant provision has been determined to be necessary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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. The insurance proceeds expected to be collected within twelve months of the balance sheet date is included as current receivable, while the remaining balance is included within other non- current assets on the consolidated balance sheets. The non-current insurance receivable amounts were $84,474 and $82,735 as of December 31, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company made downward adjustments to its accrued warranty costs of $39,449 for the year ended December 31, 2023, to reflect the net effect of a decrease in average selling price of solar modules and a volume increase in solar modules shipment, which are two primary inputs into the estimated warranty costs. Accrued warranty costs, net effect of adjustments, of $45,053, $68,411 and $27,944 are included in cost of revenues for the years ended December 31, 2021, 2022 and 2023, respectively.</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;">(ad)&#160;Foreign currency translation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ae)&#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 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(af)&#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 2021, 2022 and 2023 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 silicon wafers and polysilicon, other raw materials, such as solar 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 and Thai baht. 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ag)&#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 12pt 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 12pt 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 12pt 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, 2022 and 2023, 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:12.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:12.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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></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;">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: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;">2023</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-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;"> 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;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, 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 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ah)&#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 12pt 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 to sell an asset or paid to transfer a liability in an orderly transaction between market participants. The three-tiered fair value hierarchy, which prioritizes which inputs should be used in measuring fair value and requires the use of observable market data when available in determining fair value, is comprised of:</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 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 obligations under employee deferred compensation plan and listed equity securities for all periods presented, use Level 1 fair value inputs.</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 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ai)&#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 12pt 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 12pt 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. The Company classifies the cash flows related to realized gain or loss on settlement of derivatives as operating activities, which are based on the nature of the cash flows the derivative is economically hedging.</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 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aj)&#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. The dilutive effect of outstanding share-based awards is reflected by application of the treasury stock method and convertible notes by application of the if-converted method, as applicable. 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ak)&#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 restricted share units (&#8220;RSUs&#8221;) and share options 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. The Company allocated share-based compensation expenses to cost of revenues, selling and distribution expenses, general and administrative expenses and research and development expenses on its consolidated statements of operations, 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-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2020, the Company&#8217;s subsidiary, CSI Solar, approved the CSI Solar employee incentive plan. Determination of estimated fair value of the Company&#8217;s subsidiary before public listing requires complex and subjective judgments due to its limited financial and operating history, unique business risks and limited public information on companies that are similar to the Company&#8217;s subsidiary. The Company estimated CSI Solar&#8217;s enterprise value for purposes of recording share-based compensation, and the information considered by the Company mainly includes but is not limited to future cash flow forecasts, discount rates, and liquidity factors.</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;">(al)&#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 12pt 0pt;">Over the past three years, the COVID-19 pandemic posed significant challenges to many aspects of the Company&#8217;s business, including its operations, customers, suppliers and projects. On May 5, 2023, the World Health Organization announced that COVID-19 was no longer a public health emergency.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(am)&#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 12pt 0pt;">In March 2020, the FASB issued ASU No. 2020-04, Reference Rate Reform (Topic 848), 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. As of December 31, 2023, the Company no longer had any LIBOR debts. The adoption of this new standard did not have a material impact on the Company&#8217;s consolidated financial statements, as all of the Company&#8217;s previous LIBOR debt agreements contemplated a change to the Secured Overnight Financing Rate (SOFR) as the reference rate upon discontinuance of LIBOR.</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 new standard was effective for the Company beginning January 1, 2023. 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;">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 adopted provisions of this ASU beginning January 1, 2023, with the exception of the amendment on rollforward information, which was adopted in January 1, 2024. Adoption of the 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;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In March 2023, the FASB issued ASU No. 2023 - 01, Leases (Topic 842): Common Control Arrangements, which requires leasehold improvements associated with common control leases to be amortized over the useful life to the common control group. The new standard 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><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;">In November 2023, the FASB issued ASU No. 2023 - 07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which improves reportable segment disclosure requirements, primarily through enhanced disclosures about significant segment expenses. The new standard is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the impact of adopting this new guidance on disclosures in 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;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In December 2023, the FASB issued ASU No. 2023 - 09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires disclosure of specific categories in the income tax rate reconciliation, and additional information for reconciling items that meet a quantitative threshold disaggregated by nature and jurisdiction. The new standard is effective for fiscal years beginning after December 15, 2024. 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> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//810/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 250<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//250/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>26
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413507080496">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>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 12pt 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, warranty insurance receivable and other receivable. Warranty insurance receivable was included as a component of other non - current assets. Other receivable was 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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></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;">2022</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;">2023</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;"> 1,020,880</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;"> 961,745</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;"> (49,930)</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;"> (56,802)</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;"> 970,950</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;"> 904,943</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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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></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;">2022</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;">2023</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;"> 320,211</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;"> 328,460</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;"> (1,375)</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;"> (2,424)</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;"> 318,836</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;"> 326,036</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;">Warranty insurance 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;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.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: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: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.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:11.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></tr><tr><td style="vertical-align:bottom;width:70.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></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;text-align:center;margin: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%;margin:0pt;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,</b></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;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:11.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;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></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: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%;border-bottom:1px solid #000000;margin:0pt;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.58%;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:11.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></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="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.58%;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:11.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></tr><tr><td style="vertical-align:bottom;width:70.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Warranty insurance receivable, gross</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 84,474</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> 84,035</p></td></tr><tr><td style="vertical-align:bottom;width:70.85%;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.58%;margin:0pt;padding:0pt;"><p style="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%;border-bottom:1px solid #000000;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.58%;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.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;"> (1,300)</p></td></tr><tr><td style="vertical-align:bottom;width:70.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Warranty insurance receivable, net</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 84,474</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="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;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;"> 82,735</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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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></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;">2022</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;">2023</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;"> 129,195</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;"> 145,376</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,999)</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;"> (11,878)</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;"> 119,196</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;"> 133,498</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;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">3.&#160;ALLOWANCE FOR CREDIT LOSSES </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;">The following table presents the change in the allowances for credit losses related to the Company&#8217;s accounts receivable trade, advances to suppliers, warranty insurance receivable and other receivable:</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:67.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:13.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.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:16.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></tr><tr><td style="vertical-align:bottom;width:67.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:1.48%;margin:0pt;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: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 style="vertical-align:bottom;white-space:nowrap;width:16.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;">Advances to </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.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: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: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;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;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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;">Suppliers, Warranty </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.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: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: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: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 style="vertical-align:bottom;white-space:nowrap;width:16.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;">Insurance Receivable and</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.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: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: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: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:16.29%;border-bottom:1px solid #000000;margin:0pt;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 Receivable</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.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: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;</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: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;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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, 2020</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: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;"> 40,293</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:middle;width:16.29%;background:#cceeff;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:67.32%;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: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: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;"> 7,171</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:middle;width:16.29%;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:67.32%;background:#cceeff;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: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: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;"> (197)</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:middle;width:16.29%;background:#cceeff;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:67.32%;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: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:middle;width:13.41%;border-bottom: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: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:middle;width:16.29%;border-bottom:1px solid #000000;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:67.32%;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, 2021</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: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;"> 47,126</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:middle;width:16.29%;background:#cceeff;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:67.32%;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: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: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;"> 4,349</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:middle;width:16.29%;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:67.32%;background:#cceeff;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: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: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;"> (109)</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:middle;width:16.29%;background:#cceeff;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:67.32%;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: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:middle;width:13.41%;border-bottom: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: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:middle;width:16.29%;border-bottom: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:67.32%;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, 2022</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: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;"> 49,930</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:16.29%;background:#cceeff;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><tr><td style="vertical-align:bottom;width:67.32%;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: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: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;"> 7,381</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:16.29%;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,633</p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;background:#cceeff;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: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: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;"> (2,073)</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:16.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (242)</p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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: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:13.41%;border-bottom:1px solid #000000;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,564</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:16.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (163)</p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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, 2023</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:13.41%;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;"> 56,802</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:16.29%;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;"> 15,602</p></td></tr></table><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><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> -Name Accounting Standards Codification<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//310/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>27
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506785376">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>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 12pt 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.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.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.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;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.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.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.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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.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><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.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.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.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.5%;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;"> 310,394</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 222,826</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 265,109</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 139,116</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 948,592</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 817,699</p></td></tr><tr><td style="vertical-align:bottom;width:73.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.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,524,095</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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,179,641</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 $161,138 and $112,440 as of December 31, 2022 and 2023, 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 (&#8220;IRS&#8221;) guidance notice.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 2021, 2022 and 2023, inventory was written down by $14,070, $7,475 and $113,079, 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> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413505508032">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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 12pt 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:72.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.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:11.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:2.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:11.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></tr><tr><td style="vertical-align:bottom;width:72.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.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;text-decoration-line:underline;text-decoration-style:solid;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;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.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.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;text-decoration-line:underline;text-decoration-style:solid;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.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: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></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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: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;"> 444,858</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;"> 651,920</p></td></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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:11.36%;border-bottom:1px solid #000000;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><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 205,666</p></td></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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:11.36%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.36%;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;"> 857,586</p></td></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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: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;"> 385,964</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 280,793</p></td></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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: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;"> 438,529</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;"> 576,793</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 $17,152, $1,674 and $16,239 for the years ended December 31, 2021, 2022 and 2023, respectively. Interest capitalized during development and construction of project assets was $17,316, $26,439 and $27,676 for the years ended December 31, 2021, 2022 and 2023, 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>29
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413502187872">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, 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 12pt 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;">2022</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;">2023</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;"> 764,577</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;"> 978,924</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;"> 30,896</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;"> 44,275</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,470,957</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,213,281</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;"> 58,928</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;"> 178,455</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;"> 11,527</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;"> 14,768</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;"> 39,285</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;"> 45,397</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,376,170</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;"> 3,475,100</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;"> (908,888)</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;"> (1,061,281)</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;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><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,413,819</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 progress</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;"> 359,361</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;"> 674,623</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,826,643</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;"> 3,088,442</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 $266,956, $225,351 and $287,130 for the years ended December 31, 2021, 2022 and 2023, respectively. Construction in progress 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413499281424">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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 12pt 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.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: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.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 style="vertical-align:bottom;width:72.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: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.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></tr><tr><td style="vertical-align:bottom;width:72.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: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;">2022</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.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.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: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.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></tr><tr><td style="vertical-align:bottom;width:72.85%;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;"> 172,707</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;"> 532,833</p></td></tr><tr><td style="vertical-align:bottom;width:72.85%;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;"> 209,200</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;"> 450,339</p></td></tr><tr><td style="vertical-align:bottom;width:72.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 381,907</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;"> 983,172</p></td></tr><tr><td style="vertical-align:bottom;width:72.85%;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;"> (17,091)</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;"> (31,659)</p></td></tr><tr><td style="vertical-align:bottom;width:72.85%;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;"> 364,816</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;"> 951,513</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 nil, $263,710 and $119,067 to solar power systems during the years ended December 31, 2021, 2022 and 2023, respectively. The Company intends to operate the project assets for the purpose of generating income from the sale 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 $11,212, $4,074 and $14,266 for the years ended December 31, 2021, 2022 and 2023, respectively. Interest capitalized during development and construction of solar power systems, net was nil, $18,666 and $33,097 for the years ended December 31, 2021, 2022 and 2023, 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>31
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413499274976">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 12pt 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, 2023</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;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,898</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (23,820)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,078</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer-related intangible 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;">&#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;"> 3,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (478)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,169</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;">Trademark</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 2,533</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> (53)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 2,480</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"><p style="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;"> 44,078</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> (24,351)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 19,727</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, 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;">&#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,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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Amortization expense for the years ended December 31, 2021, 2022 and 2023 were $4,601, $3,586 and $3,793, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">Amortization expenses of the above intangible assets are expected to be approximately $3,532, $3,066, $2,821, $2,669, $2,597 and $5,042 for the years ending December&#160;31, 2024, 2025, 2026, 2027, 2028 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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350-30/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>32
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413499310064">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 12pt 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 12pt 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;margin:0pt 0pt 12pt 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 12pt 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, Japanese Yen 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 0pt 12pt 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 12pt 0pt;">In 2022 and 2023, 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 12pt 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, 2022 and 2023 and the effect of derivative instruments on the consolidated statements of operations for the years ended December 31, 2021, 2022 and 2023 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.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.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.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:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.08%;border-bottom:1px solid #000000;margin:0pt;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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, 2022</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.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, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.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:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.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></tr><tr><td style="vertical-align:bottom;width:32.73%;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,730</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.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;"> 9,282</p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;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;"> 9,576</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.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;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.73%;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;"> 210</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.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></tr><tr><td style="vertical-align:bottom;width:32.73%;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;"> 1,064</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.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;"> 387</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.73%;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;"> 18,580</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.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;"> 9,669</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.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.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.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:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.08%;border-bottom:1px solid #000000;margin:0pt;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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, 2022</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.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, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.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:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.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></tr><tr><td style="vertical-align:bottom;width:32.73%;background:#cceeff;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;">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;"> 24,104</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.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;"> 6,702</p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;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;">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%;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><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.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;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;background:#cceeff;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;">Interest rate swap</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;">Other non-current liabilities</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;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%;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;">Other non-current liabilities</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;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;"> 801</p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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%;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%;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%;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%;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><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;"> <span style="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;">Total</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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;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,503</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 0pt 12pt 0pt;"><b style="font-weight:bold;">9. FAIR VALUE MEASUREMENT (Continued)</b></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;">Interest rate swap and commodity hedge (Continued)</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;">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.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><td 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;">2023</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;"> 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.25%;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><td style="vertical-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;"> (38,241)</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;"> 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.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;"> 8,918</p></td><td style="vertical-align:bottom;white-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;"> 10,712</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;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;"> 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.25%;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;"> (4,019)</p></td><td style="vertical-align:bottom;white-space:nowrap;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;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;"> 25</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;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;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;">Total</p></td><td 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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;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;"> 23,785</p></td><td 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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;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;"> (44,489)</p></td><td 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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;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;"> (27,504)</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 12pt 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 0pt 12pt 0pt;">In 2020, the Company received shares of Suzhou Good-Ark Electronics Co., Ltd (&#8220;Good-Ark&#8221;), listed on Shenzhen stock exchange, for the disposal of its ownership of Suzhou iSilver Materials Co., Ltd as part of the consideration. These shares were carried at fair value of $18,337 and $15,190 as of December 31, 2022 and 2023, respectively, included as a component of Prepaid expenses and other current assets. Fair value gain on these shares of $4,744 was recorded under investment income in the consolidated statements of operations for the year ended December 31, 2021, and fair value losses of $418 and $2,826 were recorded for the years ended December 31, 2022 and 2023 under investment income, net, respectively, in the consolidated statements of operations. The fair values of Good-Ark were measured based on quoted prices on the Shenzhen stock exchange, which is classified as Level 1 fair value input.</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 12pt 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 12pt 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 12pt 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.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company invested in Suzhou Jingkong Energy Technology Co., Ltd., Hangzhou Gaote Electronic Equipment Co., Ltd., Suzhou Hongruida New Energy Equipment Co., Ltd. and Youli Intelligent Technology (Shanghai) Co., Ltd. These shares were accounted for using fair value option, and were included as a component of other non-current assets and were carried at fair value of $7,134 and $22,869 as of December 31, 2022 and 2023, respectively. Unrealized gain on these shares of $1,810 and $15,500 were recorded for the years ended December 31, 2022 and 2023 under investment income, net, in the consolidated statements of operations. The fair value of these investments were measured based on valuation incorporating the Company&#8217;s own assumptions that were consistent with those of market participant, and were classified as Level 3 fair value measurements as the inputs are not observable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company invested in available-for-sale debt securities. These investments were carried at fair value of $3,739 and $4,134 as of December 31, 2022 and 2023, respectively, and were included as a component of prepaid expenses and other current assets. Gain of $904 and loss of $3,487 on these investments were recorded for the years ended December 31, 2022 and 2023, respectively, as a component of other comprehensive income (loss). The fair values of the available-for-sale debt securities were measured based on quoted prices of other debt securities with similar maturity dates and interest rates, which is classified as Level 2 fair value input.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company recorded property, plant and equipment impairment charges of $6,084, $60,330 and $5,938 for the years ended December 31, 2021, 2022 and 2023, respectively, on certain solar product manufacturing asset group. 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 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 12pt 0pt;">The Company recorded impairment loss on project assets of $17,152, $1,674 and $16,239 for the years ended December 31, 2021, 2022 and 2023, 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 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 12pt 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;">The carrying values of cash and cash equivalents, restricted cash, trade receivables, billed and unbilled, amounts due from related parties, other receivable, accounts payables, short-term notes payable, amounts due to related parties, current portion of advances from customers, other payables and short-term borrowings approximate their fair values due to the shorter -term maturity of these instruments. Long-term borrowings were $813,406 and $1,265,965 as of December 31, 2022 and 2023, respectively, which approximate their fair values since most of the borrowings contain variable interest rates. The carrying value of the Company&#8217;s outstanding green bonds and convertible notes was $257,615 and $389,033 as of December 31, 2022 and 2023, respectively, which approximates the fair value. The fair value of long-term borrowings and green bonds 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><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> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>33
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413499116544">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 12pt 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 12pt 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 12pt 0pt;">As of December 31, 2022 and 2023, 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.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.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: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.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: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.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.85%;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.85%;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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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><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;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;">2023</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;font-weight:bold;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;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.93%;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.85%;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><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;"><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;"> 10,478</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;">Project assets</p></td><td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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><td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 109,144</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;">Other assets</p></td><td style="vertical-align:bottom;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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><td style="vertical-align:bottom;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 40,340</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;">Total assets</p></td><td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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><td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 159,962</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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.93%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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><td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 73,131</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;">Long-term borrowings</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;"><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><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;"><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;"> 16,956</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;">Other liabilities</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="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><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="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;"> 27,376</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;">Total liabilities</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;"><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><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;"><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;"> 117,463</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, 2021, 2022 and 2023 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> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//810/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>34
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506074448">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 12pt 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: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.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:7.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: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: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.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:7.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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: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:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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:34.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;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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:16.57%;border-bottom:1px solid #000000;margin:0pt;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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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:15.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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:7.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;">Carrying</b></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: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%;margin:0pt;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.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:7.03%;margin:0pt;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.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: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;">Ownership</b></p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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;">Value</b></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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">Percentage</b></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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:1px solid #000000;margin:0pt;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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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%;border-bottom:1px solid #000000;margin:0pt;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:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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;">$</b></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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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><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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p 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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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%;margin:0pt;padding:0pt;"><p 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:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lingang Frontier (Yangzhou) CSI New Energy Investment Fund, LP</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> &#8212;</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> &#8212;</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,357</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 44.3</p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Marangatu Holding S.A.</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 2,500</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;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,790</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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</p></td></tr><tr><td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Suzhou Financial Leasing Co., Ltd.</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 27,328</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 4.2</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;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,048</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 3.0</p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Panati Holding S.A.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 1,818</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;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,185</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">RE Crimson Holdings LLC</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 22,272</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;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,551</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canadian Solar Infrastructure Fund, Inc.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 8,961</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 14.6</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;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,677</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 14.5</p></td></tr><tr><td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lavras Solar Holding S.A.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 14,318</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;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,881</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Suzhou Zhuosheng Venture Investment Fund, LLP</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 6,868</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 17.9</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;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,957</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 14.0</p></td></tr><tr><td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Francisco Sa Solar Holding S.A.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 7,683</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;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,553</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Salgueiro Solar Holding S.A</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 6,595</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;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,250</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">JuSheng (Suzhou) Solar Tech Co., Ltd.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 5,922</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 4.4</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;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,028</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.2</p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Jaiba Solar Holding S.A.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 5,077</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;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,131</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:64%;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.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.77%;background:#cceeff;border-bottom:1px solid #000000;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,442</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">10.9-49</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;border-bottom:1px solid #000000;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,520</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">8.5-49</p></td></tr><tr><td style="vertical-align:bottom;width:64%;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.79%;margin:0pt;padding:0pt;"><p style="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.77%;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;"> 115,784</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.03%;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;"> 236,928</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2015, the Company co-established an entity, Suzhou Financial Leasing Co., Ltd. and owned an effective interest of 4.2% and 3.0% as of December 31, 2022 and 2023, 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 12pt 0pt;">In 2017, Canadian Solar Infrastructure Fund, Inc. (&#8220;CSIF&#8221;) completed its initial public offering, and the Company held a total of 56,620 and 65,672 units as of December 31, 2022 and 2023, respectively, representing 14.6% and 14.5% 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 12pt 0pt;">In 2020, the Company acquired a minor interest in Suzhou Zhuosheng Venture Investment Fund, LLP and owned an effective interest of 17.9% and 14.0% as of December 31, 2022 and 2023. 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 12pt 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;margin:0pt 0pt 12pt 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 12pt 0pt;">In October 2021, the Company acquired a minor interest in JuSheng (Suzhou) Solar Tech Co., Ltd, and owned an effective interest of 4.4% and 2.2% as of December 31, 2022 and 2023, 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 12pt 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, 2022 and 2023, the Company owned 49% of each of Horus and Recursos.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In August 2019, the Company completed the sales of its majority interests in Salgueiro Solar Holding S.A (&#8220;Salgueiro&#8221;) which holds its Salgueiro project, Francisco Sa Solar Holding S.A (&#8220;Francisco&#8221;) which holds its Francisco project, Jaiba Solar Holding S.A (&#8220;Jaiba&#8221;) which holds its Jaiba project, and Lavras Solar Holding S.A. (&#8220;Lavras&#8221;) which holds its Lavras project, to an unrelated third party. In connection with these sales, $12,793 was recognized as revenue in 2019 and the Company&#8217;s interest in Salgueiro, Francisco, Jaiba and Larvras have each decreased to 20%. With the loss of controlling financial interests in Salgueiro, Francisco, Jaiba and Larvras, the Company derecognized net assets of $8,369 in 2019 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 12pt 0pt;">In September 2022, the Company completed the sales of its majority interests in Marangatu Holding S.A. (&#8220;Marangatu&#8221;) which holds its Marangatu projects, and Panati Holding S.A. (&#8220;Panati&#8221;) which holds its Panati projects, respectively, to unrelated third parties. In connection with these sales, $12,007 and $2,259 were recognized as revenue, respectively in 2022 and the Company&#8217;s interest in Marangatu and Panati have each decreased to 30%. With the loss of controlling financial interests in Marangatu and Panati, the Company derecognized net assets of $6,267 and $2,262, respectively, in 2022 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 12pt 0pt;">In August 2023, the Company, through CSI Solar Co., Ltd., established an entity, Lingang Frontier (Yangzhou) CSI New Energy Investment Fund, LP, with 44.3% effective interest in the form of limited partnership. This investment is accounted for by CSI Solar Co., Ltd under the equity method as it exercised significant influence over the investee.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">Equity in earnings of affiliates were $7,256, $15,440 and $14,610 for the years ended December 31, 2021, 2022 and 2023, respectively. Refer to Note 20 for the Company&#8217;s related party balances and transactions in 2021, 2022 and 2023.</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> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 323<br> -SubTopic 740<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481543/323-740-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 323<br> -Publisher FASB<br> -URI https://asc.fasb.org//323/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>35
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413608375936">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>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 12pt 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 12pt 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 United States, PRC and Europe. </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 50 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;2022</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;2023</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;"> 11,406</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;"> 49,483</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,994</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;"> 5,368</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;"> 14,936</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;"> 24,489</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,028</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,824</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;"> 29,364</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;"> 81,164</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:42.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.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:29.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.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:11.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:1.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:11.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></tr><tr><td style="vertical-align:bottom;width:42.26%;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.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;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.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.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;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;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:1.47%;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:11.95%;margin:0pt;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:42.26%;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.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><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;border-bottom:1px solid #000000;margin:0pt;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 Sheet Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.95%;border-bottom:1px solid #000000;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:1.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;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;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;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;border-top: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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.95%;margin:0pt;padding:0pt;"><p 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.47%;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:11.95%;margin:0pt;padding:0pt;"><p 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:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:29.38%;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:1.47%;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:11.95%;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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132,786</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Land use rights, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Right-of use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;background:#cceeff;border-bottom:1px solid #000000;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><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;background:#cceeff;border-bottom:1px solid #000000;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,221</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;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:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;border-bottom:3px double #000000;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><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 237,007</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;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.47%;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.95%;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:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Finance lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="-sec-ix-hidden:Hidden_ZX4ffP3Aek6tCHKygIAEPQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Property, plant and equipment, net</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 163,553</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total finance lease ROU assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;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;"> 41,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;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;"> 163,553</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;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.47%;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.95%;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:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;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.47%;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.95%;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:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Operating lease liabilities &#8211; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;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:1.47%;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.95%;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,204</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Operating lease liabilities &#8211; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;background:#cceeff;border-bottom:1px solid #000000;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:1.47%;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.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 116,846</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;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:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;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;"> 35,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;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;"> 137,050</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;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.47%;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.95%;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:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Finance lease </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="-sec-ix-hidden:Hidden_MNxLZp-y0EmbJ8LQI9L-mA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other current liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;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:1.47%;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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 88,180</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Finance lease </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;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="-sec-ix-hidden:Hidden_zwemnGSU9Umlx71I-WTdxg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other non-current liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;background:#cceeff;border-bottom:1px solid #000000;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:1.47%;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.95%;background:#cceeff;border-bottom:1px solid #000000;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,651</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total finance lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;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;"> 29,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;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;"> 159,831</p></td></tr></table><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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">12. LEASE (Continued)</b></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;2022</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;2023</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,994)</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;"> (5,368)</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;"> (15,032)</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;"> (19,686)</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;"> (20,194)</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;"> (42,319)</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;"> &#8212;</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;"> 167,726</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;"> 14,393</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;"> 119,412</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;"> (965)</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;"> (3,288)</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><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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:12.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.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:12.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: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: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;">2022</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;">2023</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;"> 1.8</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;"> 4.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;"><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;"> 6.6</p></td><td style="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;"> 14.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;"><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;"> 4.9</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;"> 5.5</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;"> 10.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;">%</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;"> 5.7</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, 2023, 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.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: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: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.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: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.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:11.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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;"><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.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: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.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:11.72%;margin:0pt;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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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;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.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: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.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:11.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;">Payment</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.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-family:'Calibri','Helvetica','sans-serif';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;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.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: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.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:11.72%;margin:0pt;padding:0pt;"><p 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.95%;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.15%;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.15%;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.15%;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.72%;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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">2024</p></td><td style="vertical-align:bottom;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: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;"> 24,927</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 95,023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;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,950</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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;"> 18,322</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 30,972</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;background:#cceeff;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,294</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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;"> 15,952</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 17,411</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;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,363</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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;"> 12,351</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 16,586</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;background:#cceeff;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,937</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;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: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;"> 13,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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,342</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;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,997</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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;"> 132,225</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 3,962</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;background:#cceeff;border-bottom:1px solid #000000;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,187</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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;"> 217,432</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 179,296</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 396,728</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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;"> 80,382</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 19,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 99,847</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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;"> 137,050</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 159,831</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 296,881</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.95%;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.15%;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.15%;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.15%;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.72%;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.95%;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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;margin:0pt;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.95%;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_DV0EnETE_k6B9hwOD-MLjw;"><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.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 20,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 88,180</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;background:#cceeff;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,384</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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_YdZatWwHLE-nl8BHqrfpoA;"><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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 116,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: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;"> 71,651</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;border-bottom:1px solid #000000;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,497</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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_aFecZba9I0qz7Gedq7yDLw;"><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.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 137,050</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 159,831</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;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;"> 296,881</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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413608715536">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>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.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.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: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.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: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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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.85%;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><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;"><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;">2023</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;font-weight:bold;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;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.93%;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.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: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><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;"><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;"> 291,982</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 0pt 0pt 6pt;">Other short-term borrowings </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="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><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="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,513,216</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 0pt 0pt 6pt;">Subtotal for short-term borrowings</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;"><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><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;"><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,805,198</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 0pt 0pt 6pt;">Long-term borrowings related to project assets</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="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><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="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;"> 450,455</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 0pt 0pt 6pt;">Other long-term borrowings</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;"><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><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;"><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;"> 815,510</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 0pt 0pt 6pt;">Subtotal for long-term borrowings</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: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><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="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,265,965</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;">Total</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;"> <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><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;"> <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;"> 3,071,163</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;"><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 power and battery energy storage assets that are expected to be sold within one year.</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Total borrowings was $3,071,163 as of December 31, 2023, including $1,702,785 and $1,368,378 related to CSI Solar and Recurrent Energy, respectively. In addition, the Company had $161,609 of green bonds related to Recurrent Energy and $227,424 of convertible notes as of December 31, 2023. Total borrowings was $2,257,222 as of December 31, 2022, including $1,200,582 and $1,056,640 related to CSI Solar and Recurrent Energy, respectively. In addition, the Company had $31,638 of green bonds and $225,977 of convertible notes as of December 31, 2022. Refer to Note 17 for further details of the Company&#8217;s convertible notes.</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, 2023, the Company had contractual credit facilities of $5,254,518, of which $2,162,501 has been drawn under borrowings and $366,197 has been drawn under arrangements with banks including bank guarantees, letters of credit and short-term notes payable, and $2,725,820 was available for draw down upon demand. In addition, as of December 31, 2023, the Company also had uncommitted credit facilities of $2,587,712, of which $901,519 has been drawn under borrowings and $411,160 under arrangements with banks including bank guarantees, letters of credit and short-term notes payable. As of December 31, 2023, $374,840 of the Company&#8217;s borrowings under its Recurrent 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 12pt 0pt;">The lenders under the Company&#8217;s non-recourse facilities generally require the pledge of underlying solar power and battery energy storage assets 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 12pt 0pt;">As of December 31, 2023, borrowings of $1,647,038 were secured by property, plant and equipment with carrying amounts of $414,195, inventories of $1,763, land use rights of $55,976, restricted cash of $462,959, accounts receivable of $28,237, equity interest of $367,354, project assets of $233,740 and solar power systems of&#160;$609,201. These borrowings were recorded as short-term borrowings of $690,215, non-recourse borrowings - current of $146,869, long-term borrowings of $581,983 and non-recourse borrowings of $227,971.</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 significant borrowings during the years ended December 31, 2022 and 2023 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 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. In 2023, the subsidiary amended the tranche 1 loan facility to JPY6,250,000 ($44,317), with maturity unchanged at September 2024. As of December 31, 2023, both tranche 1 and tranche 2 loan facility was fully drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 and and was set to mature in December 2023. In November 2023, the maturity of syndicated facility was extended for another two years to November 2025. The outstanding credit facility is secured by certain project assets in the U.S., and is guaranteed by the Company. As of December 31, 2023, the loan was fully drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 loan, secured by the project, was assumed by a buyer in connection with the sale of the project in May 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, Sunmex Renovables, S.A. De C.V., a 51% owned subsidiary, obtained a $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, 2023, the outstanding balance was $25,584. 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 12pt 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. In 2022, the subsidiary obtained additional term loan facility of &#8364;45,000 ($48,309). The facility will mature in May 2024. As of December 31, 2023, the two term loan facilities were fully drawn and the outstanding balance on the revolving credit facility was $27,429.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 was set to mature in December 2023. In 2023, the maturity of the facility was extended to December 2024. In 2023, two of these subsidiaries received BRL490,934 ($101,213) of non - recourse project financing for the 300MWp Ciranda project portfolio, consisting of BRL285,000 ($60,292) non - recourse project bonds issued in a private placement with investment funds managed by Vinci Partners for Ciranda Phase I, and a BRL205,934 ($40,921) non - recourse project finance facility with Banco Nacional de Desenvolvimento Econ&#244;mico e Social (&#8220;BNDES&#8221;) for Ciranda Phase II. Both the project bonds and project finance facility are secured by the project assets, with maturities set for 2041 and 2047, respectively. As of December 31, 2023, the outstanding balance on the development and construction facility was $95,724, the outstanding balance on the project bonds was $60,909, and the outstanding balance on the project finance facility was $41,024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In March 2023, Canadian Solar Netherlands Cooperative U.A. secured a $100,000 credit facility with Nomura Securities International, Inc., The facility will mature in March 2025 and is guaranteed by the Company. As of December 31, 2023, the loan was fully drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In June 2023, Canadian Solar Netherlands Cooperative U.A. secured two credit facilities, comprising a &#8364;30,000 ($32,736) and $20,000 term loan facility, and a $110,500 revolving credit facility with Santander Corporate &amp; Investment Banking (&#8220;Santander CIB&#8221;). The two facilities will mature in June 2026 and are guaranteed by the Company. As of December 31, 2023, the term loans and the revolving credit facility were fully drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In October 2023, AURORA 01 GK issued JPY18,500,000 ($121,958) green bonds to finance development and construction costs of Recurrent projects globally. The bonds will mature in September 2026 and is guaranteed by the Company. As of December 31, 2023, the carrying value net of unamortized issuance costs of the green bonds was $128,818, and was included as a component of green bonds and convertible notes on the consolidated balance sheet.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">13. BORROWINGS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2023, Canadian Solar Sunenergy (Jiaxing) Co. Ltd. entered into credit facilities in the aggregate of RMB2,282,809 ($319,993) with various banks, and these credit facilities will mature through April 2030 by installments. Credit facilities of RMB1,869,600 ($262,044) are unsecured and are guaranteed by CSI Solar, and the remaining RMB413,209 ($57,949) are secured by certain land use rights, property, plant and equipment and equity interest of Canadian Solar Sunenergy (Jiaxing) Co. Ltd., and are guaranteed by CSI Solar. As of December 31, 2023, $165,231 was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2023, CSI Cells (Suqian) Co., Ltd. entered into credit facilities in the aggregate of RMB2,590,000 ($375,229) with various banks, and these credit facilities will mature through September 2026 by installments. Credit facilities of RMB90,000 ($13,097) are unsecured and are guaranteed by CSI Solar, and the remaining RMB2,500,000 ($362,132) are secured by certain property, plant and equipment and equity interest of CSI Cells (Suqian) Co., Ltd, and are guaranteed by CSI Solar. As of December 31, 2023, $142,601 was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2023, CSI Cells (Yangzhou) Co., Ltd. entered into credit facilities in the aggregate of RMB1,900,000 ($263,132) with various banks, and these credit facilities will mature through August 2028 by installments. The credit facilities are secured by certain property, plant and equipment and equity interest of CSI Cells (Yangzhou) Co., Ltd., and are guaranteed by CSI Solar. As of December 31, 2023, $66,350 was drawn.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2023, CSI Solar Technology (Xining) Co., Ltd. entered into credit facilities in the aggregate of RMB2,038,947 ($293,293) with various banks, and these credit facilities will mature through May 2028 by installments. Credit facilities of RMB180,000 ($25,761) are unsecured and are guaranteed by CSI Solar. The remaining RMB1,858,947 ($267,532) are secured by certain property, plant and equipment and equity interest of CSI Solar Technology (Xining) Co., Ltd, and are guaranteed by CSI Solar. As of December 31, 2023, $113,415 was drawn.</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, 2023, 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, 2021, 2022 and 2023, borrowings of $118,406, $193,578 and $161,709, 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 borrowings mentioned above bear effective floating interest rates from 1.2% to 16.8%.</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 are $75,550 of current portion of long-term borrowings, associated with certain solar power and battery energy storage assets that are expected to be sold within one year of December 31, 2023:</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;">2024</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,805,198</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;">2025</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;"> 551,022</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;">2026</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;"> 355,269</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;">2027</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;"> 84,689</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;">2028</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;"> 49,252</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;"> 225,733</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;"> 3,071,163</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;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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;">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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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: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:11.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.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: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;">2022</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;">2023</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;"> 5.3</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;"> 3.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;">%</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;"> 4.1</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;"> 6.7</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 project assets, solar power systems or property, plant and equipment until the asset is ready for its intended use. The interests incurred during the years ended December 31, 2021, 2022 and 2023 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">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.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;">2022</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;">2023</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;"> 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.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;"> 26,439</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;"> 27,676</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</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;"> 18,666</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;"> 33,097</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;"> &#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.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;"> 963</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;"> 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.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;"> 74,266</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;"> 114,099</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;"> 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.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;"> 119,371</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;"> 175,835</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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>37
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506527600">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 12pt 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, 2022 and 2023, short-term notes payable was $1,493,399 and $878,285, 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>38
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413499310064">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 12pt 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;">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.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;">2022</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;">2023</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;"> 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;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;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><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;"> 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.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;"> 68,411</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;"> 27,944</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;"> (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.1%;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><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;"> (21,011)</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;"> (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.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;"> (4,937)</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;"> (8,091)</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;"> 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.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;"> 76,677</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;"> 75,519</p></td></tr></table><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><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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-4<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>39
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413623460960">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 12pt 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 12pt 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 12pt 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 $1,587,503 as of December 31, 2023.</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>40
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413499266704">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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 10pt 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 10pt 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 10pt 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 10pt 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 10pt 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 10pt 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, 2022 and 2023, the carrying value of the convertible notes was $225,977 and $227,424, net of unamortized issuance costs of $4,023 and $2,576, 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,302 and $1,447 for the years ended December 31, 2022 and 2023, respectively. Coupon interest of $5,750 was recorded for each of the years ended December 31, 2022 and 2023, of which $1,438 was not paid and was recorded in other payables on the consolidated balance sheets as of December 31, 2022 and 2023.</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>41
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413499246336">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>INCOME 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 12pt 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 12pt 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;">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><td style="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;">2023</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 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (61,704)</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (49,536)</p></td></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 230,768</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,026</p></td></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 153,437</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (44,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 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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 162,303</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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,894</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;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;"> 408,525</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;border-top: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></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,944</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 12,570</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 55,780</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,104</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 475</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,518)</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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,695</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 75,050</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 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,048</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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,176)</p></td></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (724)</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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,008</p></td></tr><tr><td style="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;"> 231</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;">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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,657)</p></td></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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,952</p></td></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> (15,549)</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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,992</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,394</p></td></tr><tr><td style="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,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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 55,056</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,112</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 475</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (33,175)</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 18,647</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 59,501</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 12pt 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;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;">Canadian Solar (USA) Inc. was incorporated in Delaware, U.S. and is subject to federal and state corporate income taxes at a rate of 26.4%, 24.6% and 25.5% for the years ended December 31, 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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% and 28.1% for the years ended December 31, 2022 and 2023, respectively.</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 22.2%, 22.5% and 26.1% for the years ended December 31, 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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, 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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, 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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, 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 five Board of Investment certificates for full tax exemption which have different effective years. The certificates started from year 2016 through 2023, respectively, one of which expired in 2021 and the other four will expire in 2024, 2027, 2030 and 2031, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 0pt;">In 2023, certain of the Company&#8217;s PRC subsidiaries, namely Suzhou Sanysolar Materials Technology Co., Ltd, Changshu Tegu New Material Technology Co., Ltd, CSI New Energy Development (Suzhou) Co., Ltd, CSI Solar Technologies (JiaXing) Co., Ltd and Canadian Solar Photovoltaic Technology (Luoyang) 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 12pt 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, 2021, 2022 and 2023, 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: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: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.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: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:8.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.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:8.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.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: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: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 colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.49%;border-bottom:1px solid #000000;margin:0pt;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.58%;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: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: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.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;">2021</b></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: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.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;">2022</b></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: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.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;">2023</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</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;">Combined federal and provincial income tax rate</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 27</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 27</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 27</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;">%</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;">Effect of permanent difference</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:8.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;"> 4</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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.58%;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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15)</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;">%</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;">Effect of different tax rate on earnings in other jurisdictions</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.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</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 1</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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4)</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;">%</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;">Effect of tax holiday</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:8.41%;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.58%;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.44%;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.58%;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.46%;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.58%;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:64.99%;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.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.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</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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.58%;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.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;">&#8212;</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;">%&#160;&#160;</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;">Effect of cross-border tax</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:8.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.58%;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.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;">&#8212;</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 1</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;">%&#160;&#160;</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;">Unrecognized tax provision</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.41%;background:#cceeff;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.58%;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.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;">&#8212;</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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8212;</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;">%</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;">Change in valuation allowance</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:8.41%;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.58%;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.44%;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.58%;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.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;"> 7</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;">%</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;">Effect of change in tax rate</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.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;"> (7)</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> &#8212;</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> &#8212;</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;">%</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="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:8.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;"> 26</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 21</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 15</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;">%</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.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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: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.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.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.78%;border-bottom:1px solid #000000;margin:0pt;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.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.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;">2023</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.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;"> 4,466</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.78%;background:#cceeff;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><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.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;"> 3,043</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.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;"> 0.07</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.78%;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><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.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.05</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.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;"> 0.07</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.78%;background:#cceeff;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><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.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.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 12pt 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 12pt 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.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.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.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;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.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.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.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;">&#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.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.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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.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.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.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;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.5%;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.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.5%;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;"> 17,318</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 12,944</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 11,772</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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,728</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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,235</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="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;"> 5,807</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 32,351</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 28,720</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 36,332</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="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;"> 18,428</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 28,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 46,712</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 79,474</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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;"> 131,094</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 2,677</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 190</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 14,031</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 15,471</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 48,761</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 62,003</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 272,714</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 336,136</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> (43,488)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> (72,678)</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 229,226</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 263,458</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.5%;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.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.5%;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,899</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 654</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 34,914</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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,625</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 55</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 71</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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,906</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 1,816</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 24,856</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="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;"> 45,662</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 66,630</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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;"> 82,828</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 162,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 180,630</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.5%;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;"> 229,226</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 263,458</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> (66,630)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> (82,828)</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 162,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 180,630</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 12pt 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 12pt 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, 2023, the Company provided $5,350 of withholding income tax for undistributed earnings of foreign subsidiaries in 2023 on the basis of expected future distribution plan. As of December 31, 2023, the remaining undistributed earnings of approximately $701,222 attributable to the Company&#8217;s PRC subsidiaries and affiliates are considered to be indefinitely reinvested. 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 $35,061 to $70,122, 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;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;">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><td style="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;">2023</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 43,488</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additions (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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 28,819</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 371</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 72,678</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;">As of December 31, 2023, the Company has accumulated net operating losses of $821,591, including U.S. federal and state net operating losses of $331,767, all of which will expire between 2027 and 2043.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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: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:10.8pt;padding:0pt;">&#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: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:10.8pt;padding:0pt;">&#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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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;">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:12pt;text-indent:18pt;margin:0pt;">The Company has recognized a valuation allowance of $43,488 and $72,678 as at December 31, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;background:#ffffff;margin:0pt 0pt 12pt 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 12pt 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, 2022 and 2023 was $961 and $956, 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, 2021, 2022 and 2023, respectively.</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;">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><td style="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;">2023</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,770</p></td></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24)</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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> (1)</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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,745</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 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 2017 to 2023 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 2019 through 2023 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 2018 retrospectively, and on transfer pricing matters for taxation years up to 2013 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> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>42
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413629124720">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 12pt 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.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.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.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.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><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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.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.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;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.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.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.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.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><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 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;">2023</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.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.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.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;">(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.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;">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.47%;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><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;"><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.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;">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.47%;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><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="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;"> 274,187</p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.47%;background:#cceeff;border-bottom:1px solid #000000;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><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;"><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,290</p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.47%;border-bottom:3px double #000000;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><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="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;"> 279,477</p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.47%;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><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;"><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.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;">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.47%;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><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="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;"> 65,375,084</p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">Diluted effects of share number from RSUs and share options</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.47%;background:#cceeff;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><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;"><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;"> 546,765</p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.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 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><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="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.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;">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.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 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><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;"><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;"> 72,194,006</p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.47%;border-bottom:3px double #000000;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><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="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;"> 4.19</p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.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 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><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;"><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.87</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.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: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.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.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></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: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.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;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></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.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: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.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">RSUs and share options</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.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;"> 9,295</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.6%;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;"> 48,598</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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>43
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506812528">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 12pt 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 12pt 0pt;">The amount due from related parties, current of $48,614 and $40,582 and amount due from related parties, non-current of $33,489 and $32,313 as of December 31, 2022 and 2023, respectively, primarily consist of receivables of $52,424 and $33,664 for Horus, respectively, and $29,613 and $36,832 for Recursos, respectively, as of December 31, 2022 and 2023, each the Company&#8217;s 49% owned affiliates in Mexico.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The amount due to related parties as of December 31, 2022 and 2023 were $89 and $511, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;">Dr. Shawn Qu fully guaranteed loan facilities from a Chinese bank of RMB12,000 ($1,882) in 2021. No amount was drawn down under the facilities as of December 31, 2021. Dr. Shawn Qu did not guarantee loan facilities of the Company in 2022 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;">In 2023, the Company sold one solar power project to CSIF, the Company&#8217;s 14.54% owned affiliate in Japan, in the amount of JPY230,144 ($1,591). In 2021, the Company sold two solar power projects to CSIF in the amount of JPY30,601,181 ($282,133).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">2<b style="font-weight:bold;">0. RELATED PARTY BALANCES AND TRANSACTIONS (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;">In 2021, 2022 and 2023, the Company provided asset management service to CSIF in the amount of JPY829,053 ($7,541), JPY545,131 ($4,180) and JPY1,405,513 ($10,004), respectively, and provided power services (O&amp;M) to CSIF in the amounts of JPY981,161 ($9,195), JPY914,933 ($7,036) and JPY984,527 ($6,974), respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2023, the Company sold modules to subsidiaries of Marangatu, the Company&#8217;s 30% owned affiliate in Brazil with the remaining 70% ownership by a Brazilian investor, in the amount of $100,939.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2023, the Company sold modules to subsidiaries of Panati, the Company&#8217;s 30% owned affiliate in Brazil with the remaining 80% ownership by a Brazilian investor, in the amount of $67,463.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021 and 2022, the Company sold modules to subsidiaries of Francisco, the Company&#8217;s 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $24,883 and $642, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021 and 2022, the Company sold modules to subsidiaries of Lavras, the Company&#8217;s 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $30,064 and $202, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021 and 2022, the Company sold modules to subsidiaries of Salgueiro, the Company&#8217;s 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $324 and $357, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, the Company sold modules to subsidiaries of Jaiba, the Company&#8217;s 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amount of $7,090.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, 2022 and 2023, the Company provided battery energy storage solutions to subsidiaries of Crimson, the Company&#8217;s 20% owned affiliate in the U.S. with the remaining 80% ownership by a Canadian infrastructure fund, in the amounts of $19,777, $367,383 and $17,182, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2021, 2022 and 2023, 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 amounts of RMB10,831 ($1,688), RMB34,772 ($5,192) and RMB58,869 ($8,300), respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In 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 RMB19,378 ($2,995).</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> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(e))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//850/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-6<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>44
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506368576">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>COMMITMENTS AND CONTINGENCIES</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 12pt 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, 2023, the commitments for the purchase of property, plant and equipment were approximately $658,523, 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;">2024</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;"> 622,701</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;">2025</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;"> 33,234</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;">2026</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;"> 2,562</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;">2027</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;"> 9</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;">2028</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;"> 17</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;"> 658,523</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 12pt 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, 2023, the commitments related to construction EPC and other services of the Company&#8217;s solar power systems were approximately $32,486, 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;">2024</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;"> 29,715</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;">2025</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;"> 2,425</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;">2026</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;"> 346</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;"> 32,486</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 12pt 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 12pt 0pt;"><i style="font-style:italic;">Class Action Lawsuits</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company and certain of its directors and executive officers were named as defendants in class action lawsuits in the U.S. and Canada alleging that its 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;">Canada Business Corporations Act</i> (the Company&#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 the Company or any of the other defendants. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES (Continued)</b></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;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar 1 China</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES (Continued)</b></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;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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)% 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;text-indent:18pt;margin:0pt 0pt 12pt 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;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES (Continued)</b></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;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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&#8217;s remand order, the USDOC made a redetermination that reduced the Company&#8217;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 12pt 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 12pt 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 12pt 0pt;">The USDOC published the final results of the ninth administrative reviews in July 2023. The USDOC determined that the Canadian Solar entities subject to the ninth 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 USDOC did not change the Company&#8217;s countervailing duty rate of 15.87% because the countervailing duty review was rescinded for the Canadian Solar entities subject to the ninth countervailing duty administrative review. The countervailing duty final results were amended in August 2023, but this amendment resulted in no change to USDOC&#8217;s determination to rescind the review with respect to the Company. The Company did not appeal USDOC&#8217;s final results of its ninth administrative reviews and, therefore, these decisions are final.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The tenth and eleventh antidumping duty and countervailing duty administrative reviews were initiated in February 2023 and February 2024 and are currently underway. The USDOC is currently scheduled to release the final results of the tenth antidumping and countervailing duty administrative reviews in May 2024, subject to potential extensions. The Company submitted a no-shipment certification in the tenth administrative reviews. In its preliminary results, USDOC preliminarily determined that the Company had no shipments and stated its intent to rescind the reviews for the Company. The Company&#8217;s antidumping duty and countervailing duty rates, therefore, are expected to remain the same at 0.00% and 15.87%, respectively. USDOC will likely issue preliminary results of the eleventh administrative reviews in late 2024 or early 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES (Continued)</b></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;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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. 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. In February 2024, the USDOC and USITC initiated the second five - year sunset reviews of the Solar 1 antidumping and countervailing duty orders, and those sunset reviews are currently underway.</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 2 China</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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 9pt 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 rescinded the eighth administrative review of the Solar 2 China antidumping duty order in July 2023 and therefore, the Company&#8217;s antidumping duty rates will remain unchanged for its Solar 2 China CSPV products. 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 9pt 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 10pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Solar 3 Southeast Asia</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 9pt 0pt;">On April 24, 2024, the American Alliance for Solar Manufacturing Trade Committee filed petitions requesting that the USDOC and USITC initiate investigations into whether new AD/CVD duties should be imposed on CSPV cells and modules imported from Cambodia, Malaysia, Thailand, and Vietnam. If the USDOC and USITC initiate these investigations, there is the potential for significant disruptions to imports of solar cells and modules from Cambodia, Malaysia, Thailand (including by Canadian Solar Manufacturing (Thailand) Co., Ltd.), and Vietnam. The USITC will issue its preliminary determinaton on June 7, 2024, and USDOC will likely announce its AD and CVD preliminary determinations on or around September 30 and November 27, 2024, respectively. Canadian Solar is reviewing the petitions, assessing the potential impacts on the Company, and determining appropriate actions to defend its interests.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Section 201 Safeguard</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 9pt 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;text-indent:18pt;margin:0pt 0pt 9pt 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;">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, </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 9pt 0pt;">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 9pt 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;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES (Continued)</b></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;&#160;Contingencies (Continued)</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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-indent:18pt;margin:0pt 0pt 12pt 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. In November 2023, the Federal Circuit reversed and remanded the CIT&#8217;s judgment, finding that the President had acted lawfully in issuing Proclamation 10101. Appellees have filed a petition for en banc rehearing in January 2024, and the Federal Circuit&#8217;s decision on the petition is pending. In October 2022, the Company filed an appeal at the CIT 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 had previously ruled &#8220;null and void&#8221; in SEIA. The Company&#8217;s appeal remains stayed pending final 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 10pt 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;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES (Continued)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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;">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;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">In late 2023, the USITC conducted its second midterm review of the safeguard measure, issuing its monitoring report in February 2024. The President must consider the USITC&#8217;s views but is not required to act prior to the expiration of the safeguard in February 2026.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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 10pt 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 10pt 0pt;">On April 1, 2020, the CITT initiated the expiry review which 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 and declined to make a product exclusion on the Order for bifacial PV modules consisting of either 72 monocrystalline silicon photovoltaic cells or 144 monocrystalline silicon photovoltaic half-cells, with a power output exceeding 515 Watts and module efficiency exceeding 20.5%. 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 before the scheduled termination of the Order on March 24, 2026.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Patent Dispute</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">On March 25, 2024, Maxeon Solar Pte. Ltd. (&#8220;Maxeon&#8221;) filed a patent infringement lawsuit against Canadian Solar, Inc. in the U.S. District Court for the Eastern District of Texas. Maxeon alleges that by manufacturing, importing, selling, or offering for sale of its TOPCon (Tunnel Oxide Passivated Contact) solar modules in the United States, Canadian Solar, Inc., via its affiliates, has directly and indirectly infringed and continues to infringe upon three patents currently held by Maxeon. The three patents asserted by Maxeon are U.S. Patent Nos. 8222516, 8878053, and 11251315. Maxeon&#8217;s complaint requests the Court to grant, among other relief, a permanent injunction enjoining Canadian Solar, Inc. from the alleged infringement, and a judgment for monetary damages and fees. The specific amount of monetary damages has not been identified. Based on its preliminary assessment, the Company believes that its TOPCon solar modules do not infringe Maxeon&#8217;s asserted patents and intends to vigorously defend itself in the lawsuit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">From time to time, the Company receives claims that its products infringe patents of third parties. Although the Company has been able to resolve all of those claims or potential claims without a material adverse effect on the Company, other claims are pending, which if resolved unfavorably to the Company could have a material adverse effect on its business and 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><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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//450/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480327/954-440-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>45
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413608715536">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 12pt 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;">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. To align with the objective of ASC 280, Segment Reporting (&#8220;Topic 280&#8221;) and to present the Company&#8217;s disaggregated financial information consistent with the management approach, the Company reported 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><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 and battery energy storage manufacturing, and delivery of total system solutions, including inverters, solar system kits and EPC (engineering, procurement, and construction) services. CSI Solar&#8217;s e - STORAGE branded battery energy storage business includes its utility - scale turnkey battery system solutions, as well as a small but growing residential battery energy storage business. 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;">Recurrent Energy</b><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, which is the Company&#8217;s clean energy project development platform with 15 years of experience delivering solar power and battery energy storage projects. It is vertically integrated and has strong expertise in greenfield origination, development, financing, execution, operations and maintenance, and asset management.</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 energy storage solutions sales from the Company&#8217;s CSI Solar business to its Recurrent 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, gross profit and income from operations, 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;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, 2023</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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recurrent</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;">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;">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;"> 7,230,550</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;"> 497,653</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;"> (114,577)</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,613,626</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;"> 6,121,332</p></td><td style="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;"> 292,926</p></td><td style="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;"> (80,615)</p></td><td style="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,333,643</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,109,218</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;"> 204,727</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;"> (33,962)</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,279,983</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;"> 456,083</p></td><td style="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;"> 96,621</p></td><td style="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;"> (99,384)</p></td><td style="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;"> 453,320</p></td></tr></table><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: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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recurrent</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;">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;">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><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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recurrent</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;">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;">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;">&#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;"> 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;">&#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;"> 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;">&#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;"> 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><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;">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 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 0pt 12pt 0pt;">During the years ended December 31, 2021, 2022 and 2023, $6,084, $60,330 and $5,938 of long-lived asset impairment charges, respectively, were recorded related to property, plant and equipment in CSI Solar segment. In addition, the Company recorded nil, $357 and nil of investment impairment in the CSI Solar segment, and $17,152, $1,674 and $16,239 of project assets impairment in the Recurrent Energy segment, for the years ended December 31, 2021, 2022 and 2023, 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">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><td style="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;">2023</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,485,919</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 846,387</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 52,525</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;Mexico</p></td><td style="vertical-align:bottom;white-space: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;"> 139,611</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,912</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,884</p></td></tr><tr><td style="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;Puerto Rico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,344</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 22,353</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 37,922</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,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;">&#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;"><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;"> 46,210</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 65,581</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 112,845</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;"><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;">&#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,279,594</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 2,793,651</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 2,616,145</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;">&#8212;PRC</p></td><td style="vertical-align:bottom;white-space: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,207,003</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,904,862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,151,243</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;">&#8212;Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 509,233</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 325,344</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 597,188</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;India</p></td><td style="vertical-align:bottom;white-space: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;"> 142,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 197,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;"> 91,020</p></td></tr><tr><td style="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;Pakistan</p></td><td style="vertical-align:bottom;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;"> 48,838</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 73,531</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 78,203</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;Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,660</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 26,578</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 40,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;">&#8212;Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,979</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 46,254</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 32,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;">&#8212;United Arab Emirates</p></td><td style="vertical-align:bottom;white-space: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;"> 6,168</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,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;"> 22,915</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,369</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;Vietnam</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 19,956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,078</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 16,208</p></td></tr><tr><td style="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;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;"> 59,451</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,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%;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,217</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;"> 121,780</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 63,034</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 65,814</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 3,125,496</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 445,321</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;Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 231,995</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 322,189</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 291,385</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 218,596</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 144,994</p></td></tr><tr><td style="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;Norway</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 157</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,231</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,769</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 128,247</p></td></tr><tr><td style="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;Netherlands </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 104,715</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 136,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;"> 81,820</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;Italy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,531</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 79,041</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 62,079</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 41,611</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space: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;"> 24,491</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,341</p></td></tr><tr><td style="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;"> 78,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 171,895</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 192,290</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;">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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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,871,985</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;">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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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,613,626</p></td></tr></table><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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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 long-lived assets, including property, plant and equipment, solar power systems, intangible assets and ROU assets at December 31, 2022 and 2023 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.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.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: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.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: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.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.85%;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.85%;margin:0pt;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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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><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;text-align:center;margin: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;">2023</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;font-weight:bold;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;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.93%;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.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: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><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;"> <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;"> 2,398,130</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;">Thailand</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="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><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="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;"> 691,467</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;">United States</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;"><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;"> 5,545</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;"><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;"> 528,538</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;">Brazil</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="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;"> 242,761</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="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;"> 409,211</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;">EU</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;"><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><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;"><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;"> 99,738</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;">Argentina</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="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><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="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;"> 63,526</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;">Colombia</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;"><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;"> &#8212;</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;"><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;"> 61,847</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;">Japan</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="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><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="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;"> 13,164</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;">Canada</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: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><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;"><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;"> 11,401</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;">Others</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: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;"> 5,770</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="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;"> 19,667</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;">Total long-lived assets</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: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,312,589</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;"> <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;"> 4,296,689</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.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:2.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:11.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:2.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:11.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:2.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:11.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;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.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;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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;">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.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;">2022</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.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.66%;margin:0pt;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.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;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;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.34%;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.66%;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;"> 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.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;"> 5,534,379</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.34%;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,941,345</p></td></tr><tr><td style="vertical-align:middle;width:58.66%;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;"> 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.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;"> 538,157</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.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 679,350</p></td></tr><tr><td style="vertical-align:middle;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Battery energy storage solutions</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.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;"> 440,716</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.34%;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,173</p></td></tr><tr><td style="vertical-align:middle;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">EPC and 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;"> 299,997</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;"> 133,833</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.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 250,105</p></td></tr><tr><td style="vertical-align:middle;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Recurrent 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.34%;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.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar power and battery energy storage asset 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;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.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;"> 761,677</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.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 399,098</p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Power services (O&amp;M) and asset management</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.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;"> 33,776</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.34%;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,379</p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Electricity revenue from operating portfolio and 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;border-bottom:1px solid #000000;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.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;"> 26,072</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.34%;background:#cceeff;border-bottom:1px solid #000000;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,176</p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;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;"> 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.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;"> 7,468,610</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.34%;border-bottom:3px double #000000;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,613,626</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 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> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//280/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-26<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 34<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-34<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413500307792">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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 12pt 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;">No customers accounted for 10% or more of total net revenues for the years ended December 31, 2021, 2022 and 2023.No customers accounted for 10% or more of total net accounts receivable as of December 31, 2022 and 2023.</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>47
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413601451264">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 12pt 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 12pt 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 such defined contributions schemes was $14,362, $17,753 and $26,558 for the years ended December 31, 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In addition, the Company is required by PRC law to contribute approximately 6-8.5%, 8%, 0.2-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 $13,584, $15,918 and $20,702 for the years ended December 31, 2021, 2022 and 2023, respectively.</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;">In the U.S., the Company has a qualified 401 (k) plan which provides retirement benefits for all of its eligible manufacturing and non - manufacturing employees. Under the plan, the Company matches 100% of the first five percent of employee contributions. The matching contribution made by the Company for the 401 (k) plan were $409, $383 and $1,664 for the years ended December 31, 2021, 2022 and 2023, 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/disclosureRef<br> -Topic 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480794/715-70-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//715/tableOfContent<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480126/715-20-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480266/715-60-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>48
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413499120016">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 12pt 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;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">2006 Share Incentive Plan</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 12pt 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, 2022 and 2023, no options were exercised. As of December 31, 2023, 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, 2023 was $444. No compensation cost on options was recognized in the years ended December 31, 2021, 2022 and 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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 10pt 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 10pt 0pt;">The Company granted 2,161,098, 444,167 and 206,067 RSUs in 2021, 2022 and 2023, 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 10pt 0pt;">The RSUs were granted for free and generally vest over periods from <span style="-sec-ix-hidden:Hidden__6LnPpsMv0awmaiJc_xCEA;"><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. Between 2021 and 2022, 2,301,000 of the RSUs granted were made to the Company&#8217;s directors and a group of key employees, whereby vesting is contingent upon the completion of the IPO of CSI Solar (50% vested on the IPO date, followed by 25% vesting on each of the first and <span style="-sec-ix-hidden:Hidden_tDQJVYWuy0eLN4cJ3cx3jQ;"><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 contingent awards was $25.57 per award. As of December 31, 2023, 1,096,000 of such RSUs were unvested and outstanding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">The fair market value of the Company&#8217;s ordinary shares at the date of grant resulted in total compensation cost of approximately $55,822, $12,909 and $7,785&#160;that will be recognized ratably over the vesting period for the RSUs granted in 2021, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 10pt 0pt;">As of December 31, 2023, there was $34,015 of total unrecognized share-based compensation related to unvested RSUs, which is expected to be recognized over a weighted-average period of 1.6 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.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.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:15.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: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: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.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.85%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.85%;margin:0pt;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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.28%;margin:0pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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;">Shares</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;text-align:center;margin: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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.38%;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, 2023</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:15.28%;background:#cceeff;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.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 25.65</p></td></tr><tr><td style="vertical-align:bottom;width:64.38%;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.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:15.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 206,067</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="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;"> 38.64</p></td></tr><tr><td style="vertical-align:bottom;width:64.38%;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.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:15.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,652,686)</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;"><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.81</p></td></tr><tr><td style="vertical-align:bottom;width:64.38%;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.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:15.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (82,575)</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="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;"> 26.97</p></td></tr><tr><td style="vertical-align:bottom;width:64.38%;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, 2023</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:15.28%;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,660,182</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;"><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;"> 27.21</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 10pt 0pt;">The total fair value of RSUs vested during the years ended December 31, 2021, 2022 and 2023 was $21,628, $13,276 and $57,298, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">2020 CSI Solar Employee Incentive Plan</b></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 10pt 0pt;">In 2020, CSI Solar approved the CSI Solar employee incentive plan. Eligible CSI Solar directors and employees and board members subscribed to equity interest in the partnership for an aggregate of RMB248 million ($36,342 on the date of the transaction). Vesting conditions include the completion of the IPO and the service period, which were met in 2023. The CSI Solar employee incentive plan was accounted for based on the grant date fair value which equals to the value of the discount benefited by the CSI employee incentive plan participants. As of December 31, 2023, no awards granted were outstanding and no future grants may be available for issuance under CSI Solar employee incentive plan.</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 share-based compensation expense by plan included in the consolidated statements of operations:</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.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.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.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: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.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.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: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.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.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:9.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:59.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:38.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:59.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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;">2021</b></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;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.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><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;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.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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><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;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:11.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><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;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:11.19%;margin:0pt;padding:0pt;"><p 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:59.12%;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;">2006 Share incentive plan</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:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;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,808</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;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,370</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;background:#cceeff;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,981</p></td></tr><tr><td style="vertical-align:bottom;width:59.12%;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;">2020 CSI Solar employee incentive plan</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:1.53%;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:9.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;"> &#8212;</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #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:9.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;"> &#8212;</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;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:9.65%;border-bottom:1px solid #000000;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,354</p></td></tr><tr><td style="vertical-align:bottom;width:59.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.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:1.53%;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;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;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;"> 8,808</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;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;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;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;"> 9,370</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;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;"> 55,335</p></td></tr></table><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><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506969280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestAbstract', window );"><strong>NON-CONTROLLING INTERESTS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDisclosureTextBlock', window );">NON-CONTROLLING INTERESTS</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">26.&#160;NON-CONTROLLING INTERESTS</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 0pt 12pt 0pt;">In 2023, CSI Solar completed its IPO and its shares began trading on the STAR Market of the SSE. The IPO raised net proceeds of approximately $927,897, of which, $644,873 was recorded in the non-controlling interest, $244,629 was recorded in the additional paid in capital and $38,395 was recorded in accumulated other comprehensive loss.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Following the IPO, the Company holds approximately 62.24% of CSI Solar. CSI Solar&#8217;s non-controlling interests&#8217; ownership of the subsidiary changed from 20.41% to 37.76% due to the IPO.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The following schedule shows the effects of changes in the Company&#8217;s ownership interest in less than wholly owned subsidiaries on equity attributable to Canadian Solar Inc.:</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:67.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: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:1.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:7.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: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:1.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:7.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: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:1.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:7.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></tr><tr><td style="vertical-align:bottom;width:67.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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: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:30.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;">Year&#160;ended&#160;December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.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;">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: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:8.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;">2022</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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;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;">Net income attributable to Canadian Solar Inc.</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:1.34%;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:7.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;"> 95,248</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:1.34%;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:7.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;"> 239,968</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:1.34%;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:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 274,187</p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;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;">Transfers from the non-controlling interests:</p></td><td style="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:1.34%;margin:0pt;padding:0pt;"><p style="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.17%;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.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:1.34%;margin:0pt;padding:0pt;"><p style="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.17%;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.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:1.34%;margin:0pt;padding:0pt;"><p style="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.86%;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:67.34%;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 7.2pt;">Increase in the Company&#8217;s paid-in capital from transfer of equity interest in subsidiary and subsidiary&#8217;s offering of its equity interests</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:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> &#8212;</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:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> 11,185</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:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 244,629</p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;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 7.2pt;">Increase in the Company&#8217;s accumulated other comprehensive loss from transfer of equity interest in subsidiary and subsidiary&#8217;s offering of its equity interests</p></td><td style="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:1.34%;margin:0pt;padding:0pt;"><p style="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.17%;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.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:1.34%;margin:0pt;padding:0pt;"><p style="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.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 544</p></td><td style="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:1.34%;margin:0pt;padding:0pt;"><p style="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.86%;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,395</p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;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;">Net transfers from non-controlling interests</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:1.34%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.17%;background:#cceeff;border-bottom:1px solid #000000;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.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:1.34%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.17%;background:#cceeff;border-bottom:1px solid #000000;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,729</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:1.34%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 283,024</p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;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;">Change from net income attributable to Canadian Solar Inc. and transfers from non-controlling interests</p></td><td style="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:1.34%;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:7.17%;border-bottom:3px double #000000;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.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:1.34%;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:7.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 251,697</p></td><td style="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:1.34%;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:7.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 557,211</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_MinorityInterestDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for noncontrolling interest in consolidated subsidiaries, which could include the name of the subsidiary, the ownership percentage held by the parent, the ownership percentage held by the noncontrolling owners, the amount of the noncontrolling interest, the location of this amount on the balance sheet (when not reported separately), an explanation of the increase or decrease in the amount of the noncontrolling interest, the noncontrolling interest share of the net Income or Loss of the subsidiary, the location of this amount on the income statement (when not reported separately), the nature of the noncontrolling interest such as background information and terms, the amount of the noncontrolling interest represented by preferred stock, a description of the preferred stock, and the dividend requirements of the preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//810/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413497823216">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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;">27. SUBSEQUENT EVENT</b></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;">In January 2024, Recurrent Energy B.V., a subsidiary of the Company, entered into a purchase and sale agreement with GRP IV UK Holdco Limited (a Climate Infrastructure business fund by BlackRock) to issue Series A convertible redeemable preferred shares of Recurrent Energy B.V. Under the purchase and sale agreement, BlackRock will invest $500 million in two tranches, representing 20% of its voting rights on an as-converted basis, subject to regulatory approvals and certain terms and conditions.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413500104304">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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 12pt 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, 2023 of $1,587,503, 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&#8217;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;">2022</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;">2023</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;"> 15,661</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;"> 642</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;"> 582,685</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;"> 339,809</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;">Prepaid expenses and other 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;"> 13,218</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;"> 14,812</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 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;"> 611,564</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;"> 355,263</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 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;"> 2,158,474</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;"> 2,561,797</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 affiliates</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;"> 11,745</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;"> 11,745</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;">Deferred tax 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;"> 1,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;">&#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;">Other non-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;"> 39,837</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;"> 39,837</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 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:3px double #000000;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><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,968,642</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-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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;">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;"><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;">Amounts due to 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;"> 640,055</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;"> 157,821</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 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;"><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;"> 762</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,438</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;">Other 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%;border-bottom:1px solid #000000;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><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;"> 8,899</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 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;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><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;"> 168,158</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;">Convertible notes</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;"> 225,977</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;"> 227,424</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;">Deferred tax 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;"><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;"> 4,690</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;"> 8,115</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;">Liability for uncertain tax positions</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,730</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;"> 5,702</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</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;"> 881,736</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;"> 409,399</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;">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;"><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;">Common shares &#8212; no par value: unlimited authorized shares, 64,506,055 and 66,158,741 shares <span style="-sec-ix-hidden:Hidden_j6emgWMhXkGAKgzStNt_bg;"><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_Dj7PV6Ocn06g-KwcQI91sg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">outstanding</span></span> at December 31, 2022 and 2023, respectively</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;"> 835,543</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;"> 835,543</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;">Additional paid-in capital</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,127</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;"> 292,737</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;">Retained earnings</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;"> 1,275,520</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,549,707</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;">Accumulated other comprehensive loss</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;"> (170,551)</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;"> (118,744)</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 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:1px solid #000000;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><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;"> 2,559,243</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 AND 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:3px double #000000;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><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,968,642</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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">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><td style="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;">2023</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 263</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 39,838</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 97</p></td></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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,198</p></td></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> (40,198)</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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (18,720)</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,862</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,535)</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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> (772)</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 1,835</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;">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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,363)</p></td></tr><tr><td style="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 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,775)</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 319,325</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 274,187</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;">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><td style="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;">2023</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 274,187</p></td></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 13,412</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 287,599</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;">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><td style="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;">2023</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;"> 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><td style="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;"> 274,187</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;"> 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><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width: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,447</p></td></tr><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;"> (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><td style="vertical-align:bottom;white-space: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;"> 1,535</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 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;"> (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: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;"> (246,382)</p></td><td style="vertical-align: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;"> (319,325)</p></td></tr><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;">Share-based compensation</p></td><td style="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;"> 8,808</p></td><td style="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;"> 9,370</p></td><td style="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;"> 28,410</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;">Deferred taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 805</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 3,319</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">5,180</p></td></tr><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;">Changes in operating assets and 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: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;">Amounts due from 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;"> (206,892)</p></td><td style="vertical-align: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;"> 10,990</p></td><td style="vertical-align: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;">245,001</p></td></tr><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;">Prepaid expenses and other 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;"> 17,353</p></td><td style="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;"> (7,900)</p></td><td style="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,594)</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 non-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;"> (4,907)</p></td><td style="vertical-align: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;"> 10</p></td><td style="vertical-align: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;">Amounts due 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: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;"> (42,224)</p></td><td style="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;"> 38,610</p></td><td style="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;"> (232,650)</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 current 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;"> (27,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: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,154)</p></td><td style="vertical-align: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;"> 4,377</p></td></tr><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;"> (5,915)</p></td><td style="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,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: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;"> (28)</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;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%;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;"> 439</p></td><td style="vertical-align: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;"> (859)</p></td></tr><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;">Net cash provided by (used in) operating 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: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;"> (264,201)</p></td><td style="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;"> 47,714</p></td><td style="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,681</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 6pt;">Investments in 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;"> (138,456)</p></td><td style="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;"> (65,421)</p></td><td style="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;"> (22,164)</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 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;"> (5,273)</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> (990)</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">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%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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;"> (122,050)</p></td><td style="vertical-align:bottom;white-space: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;"> (62,226)</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;">Repayment of 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;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%;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: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><td style="vertical-align:bottom;white-space:nowrap;width: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: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;"> 69,150</p></td></tr><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;">Net cash used in 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: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;"> (91,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: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;"> (15,888)</p></td><td style="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;"> (15,240)</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;">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: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;">Proceeds from (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;"> (80,000)</p></td><td style="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 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;">Repayment of loan from 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: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;"> (49,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: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;">Loan from a 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: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;"> 280,000</p></td><td style="vertical-align:bottom;white-space: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;">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;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;"> 148,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: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: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%;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: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%;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%;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;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;"> 348,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: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;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;"> (49,554)</p></td><td style="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;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;"> &#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;">Effect of exchange rate changes</p></td><td style="vertical-align: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;"> (797)</p></td><td style="vertical-align: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;"> 5,957</p></td><td style="vertical-align: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;"> (5,460)</p></td></tr><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;">Net decrease in cash, cash equivalents and restricted cash</p></td><td style="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;"> (7,593)</p></td><td style="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;"> (11,771)</p></td><td style="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;"> (15,019)</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 beginning 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: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%;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;"> 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: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;"> 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;">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%;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: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%;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: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><td style="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: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;"> 642</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 disclosure of cash flow information:</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">Interest paid (net of amounts capitalized)</p></td><td style="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;"> 20,272</p></td><td style="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;"> 30,521</p></td><td style="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;"> 11,586</p></td></tr></table><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><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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.5-04(Schedule I))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480922/205-10-S99-6<br><br>Reference 3: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>52
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413502184944">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 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 $25,257 and $11,163 as of December 31, 2022 and 2023, 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 );">Reclassifications</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 12pt 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 identification of performance obligation, determination and allocation of 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, warranty insurance receivable and other receivable, 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, the impairment on goodwill and intangible assets acquired, 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 12pt 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 12pt 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 short-term notes payable, letters of guarantee, letters of credit and bank borrowings. Upon maturity of the letters of guarantee and letters of credit, and repayment of short - term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the 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 12pt 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 energy 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 12pt 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, warranty insurance receivable and other receivable 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 has been 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, and a corresponding reduction in general and administrative expenses. The balance of receivable from these insurers in prepaid expenses and other current assets were $1,873 and $2,929 as of December 31, 2022 and 2023, respectively.</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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 0pt;">When an impairment indicator suggests that the carrying amounts of inventories might not be recoverable, 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. Impairment indicators considered for these purposes are, among others, obsolescence and damages, decrease in market prices, and future demand forecast.</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 12pt 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 6pt 0pt;">Project assets consist primarily of capitalized costs relating to solar power and battery energy storage assets in various stages of development prior to the intended sale of the solar power and battery energy storage projects. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar power and battery energy 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, lithium batteries, 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 12pt 0pt;">Solar power and battery energy storage assets 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 and battery energy storage systems on the consolidated balance sheets. During the development phase, the Company capitalizes costs of the solar power and battery energy storage assets as guided by ASC 970. The costs to develop or construct solar power and battery energy storage assets 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 and battery energy storage systems, respectively. While the solar power and battery energy storage assets 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 power and battery energy storage assets is assessed based on the circumstances on each balance sheet date. Solar power and battery energy storage assets 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 12pt 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 less cost to sell 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 12pt 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 power and battery energy 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 power and battery energy 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 12pt 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. The Company includes the results of operations of the acquired business in the consolidated financial statements beginning on the acquisition date. For the year ended December 31, 2023, the Company completed three acquisitions that were not individually, nor in the aggregate, significant to the consolidated financial position, results of operations and cash flows of the Company.</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 12pt 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 12pt 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 12pt 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;"><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><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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: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;">10-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 12pt 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 12pt 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 12pt 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 solar power systems 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 12pt 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 are comprised of customer-related intangible assets that include customer relationships and backlog, trademark, 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;">Customer-related intangible assets</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;">&#160;&#160;&#160;&#160;</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;">7-20 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;">Trademark</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;">20 years</p></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><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 12pt 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;">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 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 12pt 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 12pt 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 12pt 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, 2021, 2022 and 2023, the Company recorded nil, $357 and nil 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 12pt 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 12pt 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 $6,084, $60,330 and $5,938 for the years ended December 31, 2021, 2022 and 2023, 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 12pt 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 12pt 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_AdvancesFromCustomersPolicyTextBlock', window );">Advances from customers</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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(t)&#160;&#160;&#160;Advances from customers</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company may receive payments from customers in advance of the satisfaction of performance obligations primarily for inventory purchases. These current portion amounted to $334,943 and $392,308 as of December 31, 2022 and 2023, respectively, and the non-current portion amounted to nil and $52,693 as of December 31, 2022 and 2023, respectively. These current and non-current amounts are recognized as contract liabilities until the performance obligations are completed and are included as advances from customer and other non-current liabilities in the consolidated balance sheets, respectively, based on the expected timing of performance obligation of the contract liabilities.</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_AssetRetirementObligationsPolicy', window );">Assets retirement obligation</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;">(u)&#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 $399 and $1,249 as of December 31, 2022 and 2023, 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_LesseeLeasesPolicyTextBlock', window );">Leases</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;">(v)&#160;&#160;&#160;Leases</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesPolicyTextBlock', window );">Contingencies</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(w)&#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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(x)&#160;&#160;Income taxes</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue recognition</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;">(y)&#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 12pt 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 (ac) 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 12pt 0pt;"><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Battery energy 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 12pt 0pt;">The Company recognizes revenue for the sales of battery energy storage products, 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. Revenue from the delivery of turnkey battery energy storage solutions and EPC services is recognized over time based on the estimated progress to completion using a cost-based input method. This includes the advances that battery energy storage customers are required to make on the value of their battery energy 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;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 power and battery energy storage assets sales</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 and battery energy storage assets (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 or battery energy storage assets. For sales of solar power and battery energy storage assets 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 power and battery energy storage assets are often held in separate legal entities, trusts or investment funds which are formed for the special purpose of constructing the solar power and battery energy 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;">Power services (Operations and Maintenance, or &#8220;O&amp;M&#8221;) and asset management </i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Power services (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 power services (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 power services (O&amp;M) and asset management services are expensed when incurred.</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;">Electricity revenue from operating portfolio</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Electricity revenue from operating portfolio is generated primarily by the Company&#8217;s solar power plants under long-term PPAs, virtual power purchase agreements (&#8220;VPPAs&#8221;) 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, 2021, 2022 and 2023, the Company recognized performance-based energy incentives related to electricity generated of $9,402, $2,908 and $2,772, respectively, in revenue. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company evaluates offtake contracts, such as PPAs and VPPAs, and long-term contracts to determine whether the agreements is or contains a lease where the fulfillments of the arrangement is dependent on the use of specific asset and arrangement conveys to the customer the right to control the use of the asset. Where the Company determines that the contractual provisions of a contract contain, or are, a lease and result in the customer assuming the principal risks and rewards of ownership of the asset, the arrangement is a finance lease. Assets subject to finance leases are not reflected as solar power systems and the net investment in the lease, represented by the present value of the amounts due from the lessee, is recorded in the consolidated balance sheet as a finance lease receivable. The payments considered to be part of the leasing arrangement are apportioned between a reduction in the lease receivable and finance lease income. The finance lease income element of the payments is recognized using a method that results in a constant rate of return on the net investment in each period and is reflected in finance lease income on the consolidated statements of operations. Where the Company determines that the contractual provisions of a contract contain, or are, a lease and result in the Company retaining the principal risks and rewards of ownership of the asset, the arrangement is an operating lease. For operating leases, the asset is, or continues to be, capitalized as solar power systems and depreciated over its useful life. 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, 2021, 2022 and 2023 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;">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><td style="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;">2023</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,273</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;">Recurrent 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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 44,842</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 48,115</p></td></tr></table><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 $4,940, $4,736 and $4,434 for the years ended December 31, 2021, 2022 and 2023, respectively. The remaining amounts of $24,480, $19,099 and $43,681 for the years ended December 31, 2021, 2022 and 2023, respectively, including performance-based energy incentives are recorded in accordance with ASC 606. For the years ended December 31, 2021, 2022 and 2023, there was no revenue generated from finance lease. In 2023, the Company entered into a fixed-price VPPA for the offtake of the generation from one of its solar power systems. The VPPA is settled financially on a monthly basis. The Company&#8217;s VPPA contract does not meet the definition of a derivative because it does not have a notional amount.</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 12pt 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, 2021, 2022 and 2023 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;">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><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;">2023</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;"> 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><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,767,156</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;"> 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><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;"> 348,817</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;">Recurrent 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;"> 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><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;"> 399,826</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;"> 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><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;"> 97,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;"> 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><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,613,626</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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the year ended December 31, 2023, $398,545 of the Company&#8217;s revenue was recognized from the beginning balance of contract liabilities as of January 1, 2023. 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 $725,808 as of December 31, 2023 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:1.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;width:14.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.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:1.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;width:14.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-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.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 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;">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 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;">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;">2022</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;">2023</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;"> 57,770</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;"> 101,435</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;"> 334,943</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;"> 392,308</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;"><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.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;"> 71,808</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;"> 333,500</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;">Other non-current liabilities</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: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%;background:#cceeff;border-bottom:1px solid #000000;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:1.62%;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:14.8%;background:#cceeff;border-bottom:1px solid #000000;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,693</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="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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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%;border-bottom:3px double #000000;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><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: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%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 778,501</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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, 2022 and 2023 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="re">
<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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(z)&#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 within the CSI Solar segment of $316,358, $453,865 and $237,947, are included in selling and distribution expenses for the years ended December 31, 2021, 2022 and 2023, 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_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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(aa)&#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 $58,407, $69,822 and $100,844 for the years ended December 31, 2021, 2022 and 2023, respectively.</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_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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ab)</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 12pt 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 weather-related project damages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 ROU assets, 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 12pt 0pt;">As of December 31, 2023, the Company has $159,991 of government grants in other non-current liabilities.</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;">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><td style="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;">2023</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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (79,241)</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 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,342)</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) loss 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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 244</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;">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 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> (84,339)</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_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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ac)&#160;Warranty costs</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 typically sold its 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, 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, and provided warranty against decline in performance for certain module types for a period of 25 years. The Company has also provided warranty against decline in performance for its bifacial module and double glass module products for 30 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties related to defects that existed when the product was sold to the customer. 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 12pt 0pt;">The Company warrants its battery energy storage products for a specific amount of time against performance or manufacturing defects. The standard warranty is typically for an initial term of 1 to 5 years from the date of installation, and is accounted for as an assurance-type warranty, which provides a guarantee of quality, limited to specific usage parameters, and does not represent a separate performance obligation. Extended warranties and performance guarantees for up to an additional 15 years that the customers purchase separately are accounted for as separate performance obligations. The Company accrue warranty reserves at the time of recording the revenue.The Company continuously monitors its warranty failures and review its 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 suppliers to back up a portion of its battery energy storage warranties. The Company also records a liability for specific warranty matters when they become known and are reasonably estimable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 0pt;">The Company has historically entered into agreements with a group of insurance companies to back up a portion of its warranties on solar module products against defects. 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 $264 and $168 as of December 31, 2022 and 2023, respectively, and was included as a component of prepaid expenses and other current&#160;assets. 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 solar module 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 12pt 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 12pt 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 significant provision has been determined to be necessary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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. The insurance proceeds expected to be collected within twelve months of the balance sheet date is included as current receivable, while the remaining balance is included within other non- current assets on the consolidated balance sheets. The non-current insurance receivable amounts were $84,474 and $82,735 as of December 31, 2022 and 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company made downward adjustments to its accrued warranty costs of $39,449 for the year ended December 31, 2023, to reflect the net effect of a decrease in average selling price of solar modules and a volume increase in solar modules shipment, which are two primary inputs into the estimated warranty costs. Accrued warranty costs, net effect of adjustments, of $45,053, $68,411 and $27,944 are included in cost of revenues for the years ended December 31, 2021, 2022 and 2023, 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_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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ad)&#160;Foreign currency translation</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock', window );">Comprehensive income</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;">(ae)&#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="re">
<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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(af)&#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 2021, 2022 and 2023 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 silicon wafers and polysilicon, other raw materials, such as solar 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 and Thai baht. 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ag)&#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 12pt 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 12pt 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 12pt 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, 2022 and 2023, 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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:12.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:12.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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></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;">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: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;">2023</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-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;"> 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;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, 2023.</p></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_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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ah)&#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 12pt 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 to sell an asset or paid to transfer a liability in an orderly transaction between market participants. The three-tiered fair value hierarchy, which prioritizes which inputs should be used in measuring fair value and requires the use of observable market data when available in determining fair value, is comprised of:</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 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 obligations under employee deferred compensation plan and listed equity securities for all periods presented, use Level 1 fair value inputs.</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 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="ro">
<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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ai)&#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 12pt 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 12pt 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. The Company classifies the cash flows related to realized gain or loss on settlement of derivatives as operating activities, which are based on the nature of the cash flows the derivative is economically hedging.</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Earnings per share</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;">(aj)&#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. The dilutive effect of outstanding share-based awards is reflected by application of the treasury stock method and convertible notes by application of the if-converted method, as applicable. 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="ro">
<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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(ak)&#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 restricted share units (&#8220;RSUs&#8221;) and share options 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. The Company allocated share-based compensation expenses to cost of revenues, selling and distribution expenses, general and administrative expenses and research and development expenses on its consolidated statements of operations, 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-indent:18pt;margin:0pt 0pt 12pt 0pt;">In 2020, the Company&#8217;s subsidiary, CSI Solar, approved the CSI Solar employee incentive plan. Determination of estimated fair value of the Company&#8217;s subsidiary before public listing requires complex and subjective judgments due to its limited financial and operating history, unique business risks and limited public information on companies that are similar to the Company&#8217;s subsidiary. The Company estimated CSI Solar&#8217;s enterprise value for purposes of recording share-based compensation, and the information considered by the Company mainly includes but is not limited to future cash flow forecasts, discount rates, and liquidity factors.</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_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 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">(al)&#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 12pt 0pt;">Over the past three years, the COVID-19 pandemic posed significant challenges to many aspects of the Company&#8217;s business, including its operations, customers, suppliers and projects. On May 5, 2023, the World Health Organization announced that COVID-19 was no longer a public health emergency.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recently issued accounting pronouncements</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;">(am)&#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 12pt 0pt;">In March 2020, the FASB issued ASU No. 2020-04, Reference Rate Reform (Topic 848), 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. As of December 31, 2023, the Company no longer had any LIBOR debts. The adoption of this new standard did not have a material impact on the Company&#8217;s consolidated financial statements, as all of the Company&#8217;s previous LIBOR debt agreements contemplated a change to the Secured Overnight Financing Rate (SOFR) as the reference rate upon discontinuance of LIBOR.</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 new standard was effective for the Company beginning January 1, 2023. 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;">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 adopted provisions of this ASU beginning January 1, 2023, with the exception of the amendment on rollforward information, which was adopted in January 1, 2024. Adoption of the 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;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In March 2023, the FASB issued ASU No. 2023 - 01, Leases (Topic 842): Common Control Arrangements, which requires leasehold improvements associated with common control leases to be amortized over the useful life to the common control group. The new standard 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><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;">In November 2023, the FASB issued ASU No. 2023 - 07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which improves reportable segment disclosure requirements, primarily through enhanced disclosures about significant segment expenses. The new standard is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the impact of adopting this new guidance on disclosures in 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;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;">In December 2023, the FASB issued ASU No. 2023 - 09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires disclosure of specific categories in the income tax rate reconciliation, and additional information for reconciling items that meet a quantitative threshold disaggregated by nature and jurisdiction. The new standard is effective for fiscal years beginning after December 15, 2024. 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_AdvancesFromCustomersPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 from customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_AdvancesFromCustomersPolicyTextBlock</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_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> -Topic 410<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//410-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (a)-(d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479515/805-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 450<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480598/954-450-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480981/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-14<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 5A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479391/326-20-30-5A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-3C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 8A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479366/326-20-35-8A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-3D<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-5<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479175/326-30-30-1B<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-3C<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-3A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-3D<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 13A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479148/326-30-35-13A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 4A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479391/326-20-30-4A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 7A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479148/326-30-35-7A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-21<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479106/326-30-50-7<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-17<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.M.Q4)<br> -SubTopic 20<br> -Topic 326<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483530/326-20-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 815<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(n))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-1A<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21D<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-21D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 60<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 820<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482053/820-10-60-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//830/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482338/360-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-25<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-19<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 835<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482105/912-330-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 205<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483504/205-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483044/730-10-05-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.C.Q3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.1.Q5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.3.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 310<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//310/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413504168080">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>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;"><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><td style="vertical-align:bottom;white-space:nowrap;width:2.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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: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;">10-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><span></span>
</td>
</tr>
<tr class="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;">Customer-related intangible assets</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;">&#160;&#160;&#160;&#160;</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;">7-20 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;">Trademark</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;">20 years</p></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><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;">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><td style="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;">2023</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,273</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;">Recurrent 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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 44,842</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 48,115</p></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_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;">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><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;">2023</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;"> 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><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,767,156</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;"> 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><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;"> 348,817</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;">Recurrent 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;"> 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><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;"> 399,826</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;"> 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><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;"> 97,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;"> 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><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,613,626</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_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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:1.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;width:14.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.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:1.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;width:14.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-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.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 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;">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 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;">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;">2022</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;">2023</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;"> 57,770</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;"> 101,435</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;"> 334,943</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;"> 392,308</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;"><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.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;"> 71,808</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;"> 333,500</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;">Other non-current liabilities</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: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%;background:#cceeff;border-bottom:1px solid #000000;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:1.62%;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:14.8%;background:#cceeff;border-bottom:1px solid #000000;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,693</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="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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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%;border-bottom:3px double #000000;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><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: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%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 778,501</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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;">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><td style="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;">2023</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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (79,241)</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 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,342)</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) loss 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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 244</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;">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 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> (84,339)</p></td></tr></table><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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:12.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:12.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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></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;">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: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;">2023</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-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;"> 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;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, 2023.</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> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>54
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506917856">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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:67.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:13.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.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:16.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></tr><tr><td style="vertical-align:bottom;width:67.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:1.48%;margin:0pt;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: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 style="vertical-align:bottom;white-space:nowrap;width:16.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;">Advances to </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.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: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: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;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;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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;">Suppliers, Warranty </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.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: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: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: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 style="vertical-align:bottom;white-space:nowrap;width:16.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;">Insurance Receivable and</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.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: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: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: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:16.29%;border-bottom:1px solid #000000;margin:0pt;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 Receivable</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.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: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;</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: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;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.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;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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, 2020</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: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;"> 40,293</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:middle;width:16.29%;background:#cceeff;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:67.32%;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: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: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;"> 7,171</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:middle;width:16.29%;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:67.32%;background:#cceeff;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: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: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;"> (197)</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:middle;width:16.29%;background:#cceeff;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:67.32%;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: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:middle;width:13.41%;border-bottom: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: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:middle;width:16.29%;border-bottom:1px solid #000000;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:67.32%;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, 2021</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: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;"> 47,126</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:middle;width:16.29%;background:#cceeff;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:67.32%;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: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: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;"> 4,349</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:middle;width:16.29%;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:67.32%;background:#cceeff;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: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: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;"> (109)</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:middle;width:16.29%;background:#cceeff;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:67.32%;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: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:middle;width:13.41%;border-bottom: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: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:middle;width:16.29%;border-bottom: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:67.32%;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, 2022</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: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;"> 49,930</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:16.29%;background:#cceeff;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><tr><td style="vertical-align:bottom;width:67.32%;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: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: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;"> 7,381</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:16.29%;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,633</p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;background:#cceeff;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: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: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;"> (2,073)</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:16.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (242)</p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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: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:13.41%;border-bottom:1px solid #000000;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,564</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:16.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (163)</p></td></tr><tr><td style="vertical-align:bottom;width:67.32%;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, 2023</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:13.41%;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;"> 56,802</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:16.29%;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;"> 15,602</p></td></tr></table><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><span></span>
</td>
</tr>
<tr class="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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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></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;">2022</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;">2023</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;"> 1,020,880</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;"> 961,745</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;"> (49,930)</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;"> (56,802)</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;"> 970,950</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;"> 904,943</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=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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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></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;">2022</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;">2023</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;"> 320,211</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;"> 328,460</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;"> (1,375)</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;"> (2,424)</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;"> 318,836</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;"> 326,036</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=csiq_AllowanceForWarrantyInsuranceReceivableMember', window );">Warranty insurance receivable net</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;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.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: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: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.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:11.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></tr><tr><td style="vertical-align:bottom;width:70.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></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;text-align:center;margin: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%;margin:0pt;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,</b></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;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:11.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;">At&#160;December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></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: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%;border-bottom:1px solid #000000;margin:0pt;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.58%;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:11.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></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="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.58%;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:11.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></tr><tr><td style="vertical-align:bottom;width:70.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Warranty insurance receivable, gross</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 84,474</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> 84,035</p></td></tr><tr><td style="vertical-align:bottom;width:70.85%;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.58%;margin:0pt;padding:0pt;"><p style="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%;border-bottom:1px solid #000000;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.58%;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.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;"> (1,300)</p></td></tr><tr><td style="vertical-align:bottom;width:70.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Warranty insurance receivable, net</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 84,474</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="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;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;"> 82,735</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=csiq_AllowanceForOtherReceivablesMember', window );">Allowances for other receivables</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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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: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><td style="vertical-align:bottom;white-space:nowrap;width:12.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></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;">2022</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;">2023</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;"> 129,195</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;"> 145,376</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,999)</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;"> (11,878)</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;"> 119,196</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;"> 133,498</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_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> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-11B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_AllowanceForWarrantyInsuranceReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_AllowanceForWarrantyInsuranceReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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>55
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506468208">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>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.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.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.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;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.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.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.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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.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><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.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.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.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.5%;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;"> 310,394</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 222,826</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 265,109</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 139,116</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 948,592</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 817,699</p></td></tr><tr><td style="vertical-align:bottom;width:73.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.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,524,095</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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,179,641</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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413497067824">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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:72.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.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:11.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:2.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:11.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></tr><tr><td style="vertical-align:bottom;width:72.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.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;text-decoration-line:underline;text-decoration-style:solid;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;">At December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.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.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;text-decoration-line:underline;text-decoration-style:solid;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.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: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></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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: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;"> 444,858</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;"> 651,920</p></td></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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:11.36%;border-bottom:1px solid #000000;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><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 205,666</p></td></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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:11.36%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.36%;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;"> 857,586</p></td></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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: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;"> 385,964</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 280,793</p></td></tr><tr><td style="vertical-align:bottom;width:72.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.37%;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: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;"> 438,529</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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;"> 576,793</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_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>57
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413499221904">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>PROPERTY, PLANT AND EQUIPMENT, 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;">2022</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;">2023</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;"> 764,577</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;"> 978,924</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;"> 30,896</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;"> 44,275</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,470,957</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,213,281</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;"> 58,928</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;"> 178,455</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;"> 11,527</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;"> 14,768</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;"> 39,285</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;"> 45,397</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,376,170</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;"> 3,475,100</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;"> (908,888)</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;"> (1,061,281)</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;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><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,413,819</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 progress</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;"> 359,361</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;"> 674,623</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,826,643</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;"> 3,088,442</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_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>58
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506139376">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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.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: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.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 style="vertical-align:bottom;width:72.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: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.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></tr><tr><td style="vertical-align:bottom;width:72.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: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;">2022</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.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.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: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.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></tr><tr><td style="vertical-align:bottom;width:72.85%;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;"> 172,707</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;"> 532,833</p></td></tr><tr><td style="vertical-align:bottom;width:72.85%;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;"> 209,200</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;"> 450,339</p></td></tr><tr><td style="vertical-align:bottom;width:72.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 381,907</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;"> 983,172</p></td></tr><tr><td style="vertical-align:bottom;width:72.85%;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;"> (17,091)</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;"> (31,659)</p></td></tr><tr><td style="vertical-align:bottom;width:72.85%;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;"> 364,816</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;"> 951,513</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_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>59
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413500283840">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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, 2023</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;">Computer software </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,898</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (23,820)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,078</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer-related intangible 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;">&#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;"> 3,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (478)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,169</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;">Trademark</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 2,533</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> (53)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 2,480</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"><p style="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;"> 44,078</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> (24,351)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 19,727</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, 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;">&#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,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><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>60
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413605771488">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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.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.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.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:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.08%;border-bottom:1px solid #000000;margin:0pt;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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, 2022</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.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, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.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:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.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></tr><tr><td style="vertical-align:bottom;width:32.73%;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,730</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.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;"> 9,282</p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;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;"> 9,576</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.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;">&#8212;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.73%;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;"> 210</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.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></tr><tr><td style="vertical-align:bottom;width:32.73%;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;"> 1,064</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.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;"> 387</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.73%;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;"> 18,580</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.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;"> 9,669</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.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.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.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:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.08%;border-bottom:1px solid #000000;margin:0pt;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.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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, 2022</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.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, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.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:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.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></tr><tr><td style="vertical-align:bottom;width:32.73%;background:#cceeff;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;">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;"> 24,104</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.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;"> 6,702</p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;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;">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%;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><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.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;"> &#8212;</p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;background:#cceeff;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;">Interest rate swap</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;">Other non-current liabilities</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;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%;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;">Other non-current liabilities</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;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;"> 801</p></td></tr><tr><td style="vertical-align:bottom;width:32.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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%;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%;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%;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%;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><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;"> <span style="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;">Total</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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;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,503</p></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_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;">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.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><td 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;">2023</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;"> 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.25%;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><td style="vertical-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;"> (38,241)</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;"> 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.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;"> 8,918</p></td><td style="vertical-align:bottom;white-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;"> 10,712</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;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;"> 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.25%;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;"> (4,019)</p></td><td style="vertical-align:bottom;white-space:nowrap;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;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;"> 25</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;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;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;">Total</p></td><td 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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;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;"> 23,785</p></td><td 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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.25%;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;"> (44,489)</p></td><td 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;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.22%;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;"> (27,504)</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_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> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4E<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4C<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>61
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506812528">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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.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.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: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.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: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.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.85%;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.85%;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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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><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;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;">2023</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;font-weight:bold;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;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.93%;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.85%;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><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;"><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;"> 10,478</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;">Project assets</p></td><td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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><td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 109,144</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;">Other assets</p></td><td style="vertical-align:bottom;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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><td style="vertical-align:bottom;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 40,340</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;">Total assets</p></td><td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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><td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 159,962</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;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.93%;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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><td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 73,131</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;">Long-term borrowings</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;"><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><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;"><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;"> 16,956</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;">Other liabilities</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="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><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="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;"> 27,376</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;">Total liabilities</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;"><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><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;"><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;"> 117,463</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_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> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-5A<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-9<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-4<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>62
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413500327856">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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: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.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:7.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: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: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.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:7.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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: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:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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:34.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;">At December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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:16.57%;border-bottom:1px solid #000000;margin:0pt;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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times 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:15.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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:7.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;">Carrying</b></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: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%;margin:0pt;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.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:7.03%;margin:0pt;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.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: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;">Ownership</b></p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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;">Value</b></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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">Percentage</b></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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;border-bottom:1px solid #000000;margin:0pt;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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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%;border-bottom:1px solid #000000;margin:0pt;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:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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;">$</b></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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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><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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;margin:0pt;padding:0pt;"><p 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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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%;margin:0pt;padding:0pt;"><p 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:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lingang Frontier (Yangzhou) CSI New Energy Investment Fund, LP</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> &#8212;</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> &#8212;</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,357</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 44.3</p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Marangatu Holding S.A.</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-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 2,500</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;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,790</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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</p></td></tr><tr><td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Suzhou Financial Leasing Co., Ltd.</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 27,328</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 4.2</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;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,048</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 3.0</p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Panati Holding S.A.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 1,818</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;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,185</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">RE Crimson Holdings LLC</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 22,272</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;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,551</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Canadian Solar Infrastructure Fund, Inc.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 8,961</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 14.6</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;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,677</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 14.5</p></td></tr><tr><td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Lavras Solar Holding S.A.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 14,318</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;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,881</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Suzhou Zhuosheng Venture Investment Fund, LLP</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 6,868</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 17.9</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;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,957</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 14.0</p></td></tr><tr><td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Francisco Sa Solar Holding S.A.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 7,683</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;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,553</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Salgueiro Solar Holding S.A</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 6,595</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;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,250</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">JuSheng (Suzhou) Solar Tech Co., Ltd.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 5,922</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 4.4</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;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,028</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.2</p></td></tr><tr><td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Jaiba Solar Holding S.A.</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.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;"> 5,077</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;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,131</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 20</p></td></tr><tr><td style="vertical-align:bottom;width:64%;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.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.77%;background:#cceeff;border-bottom:1px solid #000000;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,442</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">10.9-49</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.03%;background:#cceeff;border-bottom:1px solid #000000;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,520</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;">8.5-49</p></td></tr><tr><td style="vertical-align:bottom;width:64%;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.79%;margin:0pt;padding:0pt;"><p style="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.77%;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;"> 115,784</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.03%;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;"> 236,928</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="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>63
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413502805856">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>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;2022</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;2023</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;"> 11,406</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;"> 49,483</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,994</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;"> 5,368</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;"> 14,936</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;"> 24,489</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,028</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,824</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;"> 29,364</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;"> 81,164</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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:42.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.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:29.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.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:11.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:1.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:11.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></tr><tr><td style="vertical-align:bottom;width:42.26%;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.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;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.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.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;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;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:1.47%;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:11.95%;margin:0pt;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:42.26%;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.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><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;border-bottom:1px solid #000000;margin:0pt;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 Sheet Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.95%;border-bottom:1px solid #000000;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:1.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;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;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;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;border-top: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:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.95%;margin:0pt;padding:0pt;"><p 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.47%;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:11.95%;margin:0pt;padding:0pt;"><p 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:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:29.38%;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:1.47%;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:11.95%;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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;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;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Right-of-use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132,786</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Land use rights, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Right-of use assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;background:#cceeff;border-bottom:1px solid #000000;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><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;background:#cceeff;border-bottom:1px solid #000000;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,221</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;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:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;border-bottom:3px double #000000;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><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 237,007</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;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.47%;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.95%;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:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Finance lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="-sec-ix-hidden:Hidden_ZX4ffP3Aek6tCHKygIAEPQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Property, plant and equipment, net</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 163,553</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total finance lease ROU assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;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;"> 41,705</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;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;"> 163,553</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;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.47%;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.95%;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:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;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.47%;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.95%;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:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Operating lease liabilities &#8211; current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;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:1.47%;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.95%;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,204</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Operating lease</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Operating lease liabilities &#8211; non-current</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;background:#cceeff;border-bottom:1px solid #000000;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:1.47%;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.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 116,846</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;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:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;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;"> 35,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;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;"> 137,050</p></td></tr><tr><td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;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.47%;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.95%;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:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Finance lease </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="-sec-ix-hidden:Hidden_MNxLZp-y0EmbJ8LQI9L-mA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other current liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;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:1.47%;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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 88,180</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Finance lease </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:29.38%;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="-sec-ix-hidden:Hidden_zwemnGSU9Umlx71I-WTdxg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other non-current liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.95%;background:#cceeff;border-bottom:1px solid #000000;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:1.47%;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.95%;background:#cceeff;border-bottom:1px solid #000000;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,651</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:42.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total finance lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.95%;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;"> 29,069</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;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.95%;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;"> 159,831</p></td></tr></table><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;2022</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;2023</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,994)</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;"> (5,368)</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;"> (15,032)</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;"> (19,686)</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;"> (20,194)</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;"> (42,319)</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;"> &#8212;</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;"> 167,726</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;"> 14,393</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;"> 119,412</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;"> (965)</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;"> (3,288)</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><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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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:12.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.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:12.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: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: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;">2022</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;">2023</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;"> 1.8</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;"> 4.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;"><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;"> 6.6</p></td><td style="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;"> 14.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;"><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;"> 4.9</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;"> 5.5</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;"> 10.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;">%</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;"> 5.7</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><span></span>
</td>
</tr>
<tr class="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.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: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: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.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: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.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:11.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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;"><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.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: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.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:11.72%;margin:0pt;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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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;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.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: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.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:11.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;">Payment</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.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-family:'Calibri','Helvetica','sans-serif';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;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.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: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.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:11.72%;margin:0pt;padding:0pt;"><p 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.95%;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.15%;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.15%;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.15%;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.72%;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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">2024</p></td><td style="vertical-align:bottom;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: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;"> 24,927</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 95,023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;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,950</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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;"> 18,322</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 30,972</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;background:#cceeff;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,294</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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;"> 15,952</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 17,411</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;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,363</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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;"> 12,351</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 16,586</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;background:#cceeff;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,937</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;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: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;"> 13,655</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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,342</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;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,997</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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;"> 132,225</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 3,962</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;background:#cceeff;border-bottom:1px solid #000000;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,187</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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;"> 217,432</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 179,296</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 396,728</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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;"> 80,382</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 19,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 99,847</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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.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: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;"> 137,050</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 159,831</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 296,881</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:56.95%;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.15%;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.15%;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.15%;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.72%;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.95%;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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;margin:0pt;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.95%;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_DV0EnETE_k6B9hwOD-MLjw;"><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.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 20,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 88,180</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;background:#cceeff;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,384</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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_YdZatWwHLE-nl8BHqrfpoA;"><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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 116,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: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;"> 71,651</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;border-bottom:1px solid #000000;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,497</p></td></tr><tr><td style="vertical-align:bottom;width:56.95%;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_aFecZba9I0qz7Gedq7yDLw;"><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.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 137,050</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 159,831</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.72%;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;"> 296,881</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_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>64
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413606559440">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>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.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.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: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.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: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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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.85%;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><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;"><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;">2023</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;font-weight:bold;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;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.93%;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.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: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><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;"><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;"> 291,982</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 0pt 0pt 6pt;">Other short-term borrowings </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="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><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="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,513,216</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 0pt 0pt 6pt;">Subtotal for short-term borrowings</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;"><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><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;"><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,805,198</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 0pt 0pt 6pt;">Long-term borrowings related to project assets</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="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><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="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;"> 450,455</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 0pt 0pt 6pt;">Other long-term borrowings</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;"><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><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;"><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;"> 815,510</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 0pt 0pt 6pt;">Subtotal for long-term borrowings</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: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><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="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,265,965</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;">Total</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;"> <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><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;"> <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;"> 3,071,163</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;"><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 power and battery energy storage assets that are expected to be sold within one year.</span></td></tr></table><div style="margin-top:12pt;"></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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;">2024</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,805,198</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;">2025</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;"> 551,022</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;">2026</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;"> 355,269</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;">2027</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;"> 84,689</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;">2028</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;"> 49,252</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;"> 225,733</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;"> 3,071,163</p></td></tr></table><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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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: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:11.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.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: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;">2022</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;">2023</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;"> 5.3</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;"> 3.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;">%</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;"> 4.1</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;"> 6.7</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><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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">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.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;">2022</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;">2023</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;"> 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.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;"> 26,439</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;"> 27,676</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</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;"> 18,666</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;"> 33,097</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;"> &#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.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;"> 963</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;"> 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.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;"> 74,266</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;"> 114,099</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;"> 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.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;"> 119,371</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;"> 175,835</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_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481544/470-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>65
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506368576">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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;">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.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;">2022</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;">2023</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;"> 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;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;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><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;"> 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.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;"> 68,411</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;"> 27,944</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;"> (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.1%;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><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;"> (21,011)</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;"> (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.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;"> (4,937)</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;"> (8,091)</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;"> 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.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;"> 76,677</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;"> 75,519</p></td></tr></table><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><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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>66
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413503603344">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>INCOME 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;">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><td style="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;">2023</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 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (61,704)</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (49,536)</p></td></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 230,768</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,026</p></td></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 153,437</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (44,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 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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 162,303</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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,894</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;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;"> 408,525</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;border-top: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></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,944</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 12,570</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 55,780</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,104</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 475</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,518)</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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,695</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 75,050</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 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,048</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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4,176)</p></td></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (724)</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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,008</p></td></tr><tr><td style="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;"> 231</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;">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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,657)</p></td></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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,952</p></td></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> (15,549)</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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,992</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,394</p></td></tr><tr><td style="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,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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 55,056</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,112</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 475</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (33,175)</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 18,647</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 59,501</p></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_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: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: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.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: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:8.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.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:8.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.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: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: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 colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.49%;border-bottom:1px solid #000000;margin:0pt;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.58%;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: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: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.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;">2021</b></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: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.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;">2022</b></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: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.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;">2023</b></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:8pt;margin:0pt;"><b style="font-weight:bold;">&#160;</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;">Combined federal and provincial income tax rate</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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 27</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 27</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 27</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;">%</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;">Effect of permanent difference</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:8.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;"> 4</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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.58%;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.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15)</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;">%</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;">Effect of different tax rate on earnings in other jurisdictions</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.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</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 1</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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4)</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;">%</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;">Effect of tax holiday</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:8.41%;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.58%;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.44%;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.58%;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.46%;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.58%;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:64.99%;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.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.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</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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.58%;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.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;">&#8212;</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;">%&#160;&#160;</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;">Effect of cross-border tax</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:8.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.58%;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.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;">&#8212;</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 1</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;">%&#160;&#160;</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;">Unrecognized tax provision</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.41%;background:#cceeff;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.58%;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.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;">&#8212;</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;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">&#8212;</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;">%</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;">Change in valuation allowance</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:8.41%;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.58%;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.44%;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.58%;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.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;"> 7</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;">%</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;">Effect of change in tax rate</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.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;"> (7)</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> &#8212;</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> &#8212;</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;">%</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="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:8.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;"> 26</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 21</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;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 15</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;">%</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_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.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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: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.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.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.78%;border-bottom:1px solid #000000;margin:0pt;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.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.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;">2023</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.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;"> 4,466</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.78%;background:#cceeff;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><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.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;"> 3,043</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.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;"> 0.07</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.78%;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><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.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.05</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.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;"> 0.07</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.78%;background:#cceeff;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><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.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.04</p></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_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.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.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.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;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.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.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.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;">&#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.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.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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.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.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.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;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.5%;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.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.5%;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;"> 17,318</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 12,944</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 11,772</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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,728</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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,235</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="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;"> 5,807</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 32,351</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 28,720</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 36,332</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="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;"> 18,428</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 28,723</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 46,712</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 79,474</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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;"> 131,094</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 2,677</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 190</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 14,031</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 15,471</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 48,761</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 62,003</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 272,714</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 336,136</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> (43,488)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> (72,678)</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 229,226</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 263,458</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.5%;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.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.5%;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,899</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 654</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 34,914</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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,625</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 55</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 71</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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,906</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 1,816</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 24,856</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="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;"> 45,662</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 66,630</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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;"> 82,828</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 162,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 180,630</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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.5%;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;"> 229,226</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 263,458</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> (66,630)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> (82,828)</p></td></tr><tr><td style="vertical-align:bottom;width:73.5%;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;"> 162,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;"> 180,630</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_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;">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><td style="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;">2023</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 43,488</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additions (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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 28,819</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 371</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 72,678</p></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_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="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;">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><td style="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;">2023</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,770</p></td></tr><tr><td style="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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (24)</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;"> (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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> (1)</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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,745</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_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 9<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 12<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482663/740-10-55-217<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>67
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506980528">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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.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.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.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.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><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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.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.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;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.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.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.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.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><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 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;">2023</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.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.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.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;">(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.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;">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.47%;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><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;"><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.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;">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.47%;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><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="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;"> 274,187</p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.47%;background:#cceeff;border-bottom:1px solid #000000;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><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;"><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,290</p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.47%;border-bottom:3px double #000000;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><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="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;"> 279,477</p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.47%;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><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;"><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.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;">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.47%;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><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="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;"> 65,375,084</p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">Diluted effects of share number from RSUs and share options</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.47%;background:#cceeff;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><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;"><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;"> 546,765</p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.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 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><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="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.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;">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.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 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><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;"><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;"> 72,194,006</p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.47%;border-bottom:3px double #000000;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><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="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;"> 4.19</p></td></tr><tr><td style="vertical-align:bottom;width:58.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;">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.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 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><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;"><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.87</p></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_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.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: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.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.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></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: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.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;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></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.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: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.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">RSUs and share options</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.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;"> 9,295</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.6%;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;"> 48,598</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_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> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>68
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506170912">
<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, 2023</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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;">2024</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;"> 622,701</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;">2025</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;"> 33,234</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;">2026</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;"> 2,562</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;">2027</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;"> 9</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;">2028</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;"> 17</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;"> 658,523</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_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;">2024</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;"> 29,715</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;">2025</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;"> 2,425</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;">2026</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;"> 346</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;"> 32,486</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_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>69
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413507080496">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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, 2023</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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recurrent</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;">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;">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;"> 7,230,550</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;"> 497,653</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;"> (114,577)</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,613,626</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;"> 6,121,332</p></td><td style="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;"> 292,926</p></td><td style="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;"> (80,615)</p></td><td style="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,333,643</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,109,218</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;"> 204,727</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;"> (33,962)</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,279,983</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;"> 456,083</p></td><td style="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;"> 96,621</p></td><td style="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;"> (99,384)</p></td><td style="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;"> 453,320</p></td></tr></table><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: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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recurrent</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;">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;">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><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:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recurrent</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;">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;">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;">&#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;"> 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;">&#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;"> 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;">&#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;"> 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><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;">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;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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;">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><td style="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;">2023</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,485,919</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 846,387</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 52,525</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;Mexico</p></td><td style="vertical-align:bottom;white-space: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;"> 139,611</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,912</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,884</p></td></tr><tr><td style="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;Puerto Rico</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,344</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 22,353</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 37,922</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,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;">&#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;"><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;"> 46,210</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 65,581</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 112,845</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;"><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;">&#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,279,594</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 2,793,651</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 2,616,145</p></td></tr><tr><td style="vertical-align:bottom;width:68.02%;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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;">&#8212;PRC</p></td><td style="vertical-align:bottom;white-space: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,207,003</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,904,862</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,151,243</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;">&#8212;Japan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 509,233</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 325,344</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 597,188</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;India</p></td><td style="vertical-align:bottom;white-space: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;"> 142,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 197,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;"> 91,020</p></td></tr><tr><td style="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;Pakistan</p></td><td style="vertical-align:bottom;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;"> 48,838</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 73,531</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 78,203</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;Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,660</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 26,578</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 40,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;">&#8212;Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,979</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 46,254</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 32,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;">&#8212;United Arab Emirates</p></td><td style="vertical-align:bottom;white-space: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;"> 6,168</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,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;"> 22,915</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,369</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;Vietnam</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 19,956</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,078</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 16,208</p></td></tr><tr><td style="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;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;"> 59,451</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,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%;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,217</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;"> 121,780</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 63,034</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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;"> 65,814</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 3,125,496</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 445,321</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;Germany</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 231,995</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 322,189</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 291,385</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 218,596</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 144,994</p></td></tr><tr><td style="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;Norway</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 157</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,231</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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,769</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 128,247</p></td></tr><tr><td style="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;Netherlands </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 104,715</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 136,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;"> 81,820</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;Italy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,531</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 79,041</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;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;"> 62,079</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 41,611</p></td></tr><tr><td style="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;"> 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><td style="vertical-align:bottom;white-space: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;"> 24,491</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;"> 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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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,341</p></td></tr><tr><td style="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;"> 78,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 171,895</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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;"> 192,290</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;">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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size: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,871,985</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;">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><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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,613,626</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_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.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.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: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.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: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.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.85%;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.85%;margin:0pt;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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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><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;text-align:center;margin: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;">2023</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;font-weight:bold;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;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.93%;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.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: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><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;"> <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;"> 2,398,130</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;">Thailand</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="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><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="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;"> 691,467</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;">United States</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;"><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;"> 5,545</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;"><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;"> 528,538</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;">Brazil</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="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;"> 242,761</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="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;"> 409,211</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;">EU</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;"><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><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;"><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;"> 99,738</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;">Argentina</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="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><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="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;"> 63,526</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;">Colombia</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;"><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;"> &#8212;</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;"><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;"> 61,847</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;">Japan</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="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><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="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;"> 13,164</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;">Canada</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: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><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;"><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;"> 11,401</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;">Others</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: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;"> 5,770</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="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;"> 19,667</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;">Total long-lived assets</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: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,312,589</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;"> <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;"> 4,296,689</p></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_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.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:2.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:11.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:2.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:11.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:2.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:11.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;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.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;">Years Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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;">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.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;">2022</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.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:58.66%;margin:0pt;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.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;">$</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;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.34%;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.66%;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;"> 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.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;"> 5,534,379</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.34%;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,941,345</p></td></tr><tr><td style="vertical-align:middle;width:58.66%;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;"> 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.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;"> 538,157</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.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 679,350</p></td></tr><tr><td style="vertical-align:middle;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Battery energy storage solutions</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.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;"> 440,716</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.34%;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,173</p></td></tr><tr><td style="vertical-align:middle;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">EPC and 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;"> 299,997</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;"> 133,833</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.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 250,105</p></td></tr><tr><td style="vertical-align:middle;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Recurrent 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.34%;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.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Solar power and battery energy storage asset 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;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.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;"> 761,677</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.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 399,098</p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Power services (O&amp;M) and asset management</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.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;"> 33,776</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.34%;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,379</p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Electricity revenue from operating portfolio and 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;border-bottom:1px solid #000000;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.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;"> 26,072</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.34%;background:#cceeff;border-bottom:1px solid #000000;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,176</p></td></tr><tr><td style="vertical-align:bottom;width:58.66%;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;"> 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.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;"> 7,468,610</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.34%;border-bottom:3px double #000000;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,613,626</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 5pt 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_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph b<br> -SubTopic 10<br> -Topic 280<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>70
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413499270304">
<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, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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.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.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:15.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: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: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.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.85%;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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.85%;margin:0pt;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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.28%;margin:0pt;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.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;">Shares</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;text-align:center;margin: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.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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin: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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin: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.38%;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, 2023</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:15.28%;background:#cceeff;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.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 25.65</p></td></tr><tr><td style="vertical-align:bottom;width:64.38%;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.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:15.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 206,067</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="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;"> 38.64</p></td></tr><tr><td style="vertical-align:bottom;width:64.38%;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.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:15.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,652,686)</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;"><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.81</p></td></tr><tr><td style="vertical-align:bottom;width:64.38%;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.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:15.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (82,575)</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="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;"> 26.97</p></td></tr><tr><td style="vertical-align:bottom;width:64.38%;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, 2023</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:15.28%;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,660,182</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;"><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;"> 27.21</p></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_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Summary of Company share-based compensation expense by plan included in 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="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.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.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.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: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.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.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: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.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.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:9.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:59.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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;visibility:hidden;">&#8203;</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:38.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:59.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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;">2021</b></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;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.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><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;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.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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.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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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><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;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:11.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><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;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:11.19%;margin:0pt;padding:0pt;"><p 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:59.12%;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;">2006 Share incentive plan</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:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;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,808</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','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;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,370</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;background:#cceeff;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,981</p></td></tr><tr><td style="vertical-align:bottom;width:59.12%;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;">2020 CSI Solar employee incentive plan</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:1.53%;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:9.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;"> &#8212;</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;border-bottom:1px solid #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:9.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;"> &#8212;</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;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:9.65%;border-bottom:1px solid #000000;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,354</p></td></tr><tr><td style="vertical-align:bottom;width:59.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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.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:1.53%;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;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;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;"> 8,808</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;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;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;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;"> 9,370</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;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.53%;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;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.65%;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;"> 55,335</p></td></tr></table><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><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_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>71
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413499093376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncontrollingInterestAbstract', window );"><strong>NON-CONTROLLING INTERESTS</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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock', window );">Schedule of effects of changes in Company's ownership interest in less than wholly owned subsidiaries on equity attributable to Canadian Solar Inc</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:67.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: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:1.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:7.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: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:1.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:7.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: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:1.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:7.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></tr><tr><td style="vertical-align:bottom;width:67.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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: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:30.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;">Year&#160;ended&#160;December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.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;">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: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:8.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;">2022</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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;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;">Net income attributable to Canadian Solar Inc.</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:1.34%;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:7.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;"> 95,248</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:1.34%;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:7.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;"> 239,968</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:1.34%;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:7.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 274,187</p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;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;">Transfers from the non-controlling interests:</p></td><td style="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:1.34%;margin:0pt;padding:0pt;"><p style="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.17%;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.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:1.34%;margin:0pt;padding:0pt;"><p style="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.17%;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.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:1.34%;margin:0pt;padding:0pt;"><p style="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.86%;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:67.34%;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 7.2pt;">Increase in the Company&#8217;s paid-in capital from transfer of equity interest in subsidiary and subsidiary&#8217;s offering of its equity interests</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:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> &#8212;</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:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.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;"> 11,185</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:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 244,629</p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;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 7.2pt;">Increase in the Company&#8217;s accumulated other comprehensive loss from transfer of equity interest in subsidiary and subsidiary&#8217;s offering of its equity interests</p></td><td style="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:1.34%;margin:0pt;padding:0pt;"><p style="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.17%;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.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:1.34%;margin:0pt;padding:0pt;"><p style="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.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 544</p></td><td style="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:1.34%;margin:0pt;padding:0pt;"><p style="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.86%;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,395</p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;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;">Net transfers from non-controlling interests</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:1.34%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.17%;background:#cceeff;border-bottom:1px solid #000000;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.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:1.34%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.17%;background:#cceeff;border-bottom:1px solid #000000;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,729</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:1.34%;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;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 283,024</p></td></tr><tr><td style="vertical-align:bottom;width:67.34%;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;">Change from net income attributable to Canadian Solar Inc. and transfers from non-controlling interests</p></td><td style="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:1.34%;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:7.17%;border-bottom:3px double #000000;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.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:1.34%;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:7.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 251,697</p></td><td style="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:1.34%;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:7.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 557,211</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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The tabular disclosure of the effects of any changes in a parent's ownership interest in a subsidiary on the equity attributable to the parent if the ownership interests in a subsidiary changes during the period. The changes represented by this element did not result in the deconsolidation of the subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4M<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4M<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncontrollingInterestAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncontrollingInterestAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413605766448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ORGANIZATION AND PRINCIPAL ACTIVITIES (Details)<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="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Jun. 09, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 31, 2020 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Jul. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th"><div>Dec. 31, 2022</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_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects', window );">Energy storage projects</a></td>
<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">15 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_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Aggregated value of consideration transferred</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 31,000,000<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</td>
<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.40%<span></span>
</td>
</tr>
<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 | 2020 CSI Solar employee incentive plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 248,000,000<span></span>
</td>
<td class="nump">$ 36,342<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_CsiSolarCoLtdMember', window );">CSI Solar 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>
</tr>
<tr class="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="nump">62.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>
</tr>
<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 );">Subsidiaries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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="text">&#160;<span></span>
</td>
<td class="nump">&#165; 1,500,000,000<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_CsiSolarCoLtdMember', window );">CSI Solar 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>
</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_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts', window );">Net of transaction costs</a></td>
<td class="nump">$ 927,897<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 6,628,683<span></span>
</td>
<td class="nump">$ 927,897<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_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 experience in delivering solar power and battery energy storage 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_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects</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_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 subsidiary offerings, net of transaction 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_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts</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_BusinessCombinationConsiderationTransferred1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479581/805-30-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationConsiderationTransferred1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 8<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 30<br> -Paragraph 7<br> -SubTopic 30<br> -Topic 805<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479637/805-30-30-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 40<br> -Section 25<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480637/718-40-25-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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_us-gaap_PlanNameAxis=csiq_CsiSolarEmployeeIncentivePlan2020Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=csiq_CsiSolarEmployeeIncentivePlan2020Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CsiSolarCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CsiSolarCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_CsiSolarCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CsiSolarCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413505294464">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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>SUMMARY OF 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">$ 11,163<span></span>
</td>
<td class="nump">$ 25,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_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>SUMMARY OF 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">$ 2,929<span></span>
</td>
<td class="nump">$ 1,873<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/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483049/450-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>74
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413498076400">
<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="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jan. 01, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Buildings | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">&#160;<span></span>
</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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingMember', window );">Buildings | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property, plant and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">&#160;<span></span>
</td>
<td class="text">20 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_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="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">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="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">&#160;<span></span>
</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_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</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="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">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_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="re">
<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="nump">$ 2,186<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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">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="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">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>instant</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_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_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_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>75
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413504780224">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Land use rights (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelatedIntangibleAssetsMember', window );">Customer-related intangible assets | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">7 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_CustomerRelatedIntangibleAssetsMember', window );">Customer-related intangible assets | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">20 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_TrademarksMember', window );">Trademark</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">20 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_DevelopedTechnologyRightsMember', window );">Technical know-how</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">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="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">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="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">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="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">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>instant</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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_CustomerRelatedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_CustomerRelatedIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_TrademarksMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_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_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>76
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506438848">
<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, Advances from customers and 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, 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_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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_InvestmentsInAffiliatesImpairmentCharge', window );">Impairment charges on investments</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 357<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_AssetImpairmentCharges', window );">Impairment charges for long-lived assets</a></td>
<td class="nump">5,938<span></span>
</td>
<td class="nump">60,330<span></span>
</td>
<td class="nump">$ 6,084<span></span>
</td>
</tr>
<tr class="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">1,249<span></span>
</td>
<td class="nump">399<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Advances from customers</a></td>
<td class="nump">392,308<span></span>
</td>
<td class="nump">334,943<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Contract with Customer, Liability, Noncurrent</a></td>
<td class="nump">$ 52,693<span></span>
</td>
<td class="nump">$ 0<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_InvestmentsInAffiliatesImpairmentCharge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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_InvestmentsInAffiliatesImpairmentCharge</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_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482130/360-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 410<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481999/410-20-25-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 410<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481850/410-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413504496384">
<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, 2023</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_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,772<span></span>
</td>
<td class="nump">$ 2,908<span></span>
</td>
<td class="nump">$ 9,402<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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>78
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413502105408">
<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, 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_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_OperatingLeaseIncomeComprehensiveIncomeExtensibleList', window );">Operating Lease, Lease Income, Statement of Income or Comprehensive Income [Extensible Enumeration]</a></td>
<td class="text">Net revenues<span></span>
</td>
<td class="text">Net revenues<span></span>
</td>
<td class="text">Net revenues<span></span>
</td>
</tr>
<tr class="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,613,626<span></span>
</td>
<td class="nump">$ 7,468,610<span></span>
</td>
<td class="nump">$ 5,277,169<span></span>
</td>
</tr>
<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>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_Revenues', window );">Total net revenues</a></td>
<td class="nump">48,115<span></span>
</td>
<td class="nump">23,835<span></span>
</td>
<td class="nump">29,420<span></span>
</td>
</tr>
<tr class="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,434<span></span>
</td>
<td class="nump">4,736<span></span>
</td>
<td class="nump">4,940<span></span>
</td>
</tr>
<tr class="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">43,681<span></span>
</td>
<td class="nump">19,099<span></span>
</td>
<td class="nump">24,480<span></span>
</td>
</tr>
<tr class="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>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_Revenues', window );">Total net revenues</a></td>
<td class="nump">3,273<span></span>
</td>
<td class="nump">2,256<span></span>
</td>
<td class="nump">15,302<span></span>
</td>
</tr>
<tr class="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_RecurrentEnergySegmentMember', window );">Recurrent 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>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_Revenues', window );">Total net revenues</a></td>
<td class="nump">$ 44,842<span></span>
</td>
<td class="nump">$ 21,579<span></span>
</td>
<td class="nump">$ 14,118<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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 842<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479016/842-30-45-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479773/842-30-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482964/270-10-50-6A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479016/842-30-45-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_RecurrentEnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_RecurrentEnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413505240960">
<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, 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_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,613,626<span></span>
</td>
<td class="nump">$ 7,468,610<span></span>
</td>
<td class="nump">$ 5,277,169<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_RevenueGeneratedFromFinanceLease', window );">Revenue generated</a></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_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember', window );">CSI Solar Segment | Recognized at a point in time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">6,767,156<span></span>
</td>
<td class="nump">6,173,338<span></span>
</td>
<td class="nump">3,881,573<span></span>
</td>
</tr>
<tr class="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 | Recognized over time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">348,817<span></span>
</td>
<td class="nump">473,747<span></span>
</td>
<td class="nump">271,513<span></span>
</td>
</tr>
<tr class="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_RecurrentEnergySegmentMember', window );">Recurrent Energy Segment | Recognized at a point in time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">399,826<span></span>
</td>
<td class="nump">763,698<span></span>
</td>
<td class="nump">1,068,179<span></span>
</td>
</tr>
<tr class="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_RecurrentEnergySegmentMember', window );">Recurrent Energy Segment | Recognized over time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 97,827<span></span>
</td>
<td class="nump">$ 57,827<span></span>
</td>
<td class="nump">$ 55,904<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_RevenueGeneratedFromFinanceLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Revenue generated from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">csiq_RevenueGeneratedFromFinanceLease</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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=csiq_RecurrentEnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_RecurrentEnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413609008656">
<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="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Revenue recognized from beginning balance of contract liabilities</a></td>
<td class="nump">$ 398,545<span></span>
</td>
<td class="nump">$ 219,836<span></span>
</td>
</tr>
<tr class="re">
<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">725,808<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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="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 receivables, unbilled</a></td>
<td class="nump">101,435<span></span>
</td>
<td class="nump">57,770<span></span>
</td>
</tr>
<tr class="ro">
<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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Advances from customers</a></td>
<td class="nump">392,308<span></span>
</td>
<td class="nump">334,943<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_ContractLiabilitiesOtherCurrentLiabilities', window );">Other current liabilities</a></td>
<td class="nump">333,500<span></span>
</td>
<td class="nump">71,808<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ContractLiabilitiesOtherNonCurrentLiabilities', window );">Other non-current liabilities</a></td>
<td class="nump">52,693<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 778,501<span></span>
</td>
<td class="nump">$ 406,751<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_csiq_ContractLiabilitiesOtherNonCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 non-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_ContractLiabilitiesOtherNonCurrentLiabilities</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_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_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> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>81
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506941040">
<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, 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_ResearchAndDevelopmentExpense', window );">Research and development expenses</a></td>
<td class="nump">$ 100,844<span></span>
</td>
<td class="nump">$ 69,822<span></span>
</td>
<td class="nump">$ 58,407<span></span>
</td>
</tr>
<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 | 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_SellingExpense', window );">Selling and distribution expenses</a></td>
<td class="nump">$ 237,947<span></span>
</td>
<td class="nump">$ 453,865<span></span>
</td>
<td class="nump">$ 316,358<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/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413504501664">
<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, 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_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="num">$ (5,342)<span></span>
</td>
<td class="num">$ (4,259)<span></span>
</td>
<td class="nump">$ 83<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_GainLossOnDisposalOfSolarPowerSystems', window );">Net (gain) loss on disposal of solar power system</a></td>
<td class="nump">244<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,091)<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 );">Weather-related project damages</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,408<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">(84,339)<span></span>
</td>
<td class="num">(63,802)<span></span>
</td>
<td class="num">(47,068)<span></span>
</td>
</tr>
<tr class="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_GovernmentGrantsNonCurrent', window );">Government grants, non current</a></td>
<td class="nump">159,991<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="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="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">$ (79,241)<span></span>
</td>
<td class="num">$ (59,543)<span></span>
</td>
<td class="num">$ (38,468)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_GainLossOnDisposalOfSolarPowerSystems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_GainLossOnDisposalOfSolarPowerSystems</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_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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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>83
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413608650816">
<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="4">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, 2023</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, 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_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>
<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>
<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">$ 168<span></span>
</td>
<td class="nump">$ 264<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">82,735<span></span>
</td>
<td class="nump">84,474<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_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">39,449<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 27,944<span></span>
</td>
<td class="nump">$ 68,411<span></span>
</td>
<td class="nump">$ 45,053<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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_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">&#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="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">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>
<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">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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>
<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_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>
<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_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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_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">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">12 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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">&#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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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">&#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="ro">
<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">&#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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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 | 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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_StandardProductWarrantyTerm', window );">Standard warranty</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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 | 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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_StandardProductWarrantyTerm', window );">Standard warranty</a></td>
<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>
</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_csiq_StandardProductWarrantyTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 standard product warranty.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_StandardProductWarrantyTerm</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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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_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>
<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>84
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413503698384">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 193,818<span></span>
</td>
<td class="nump">$ 253,484<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">$ 35,359<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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481027/954-310-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413507054064">
<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, 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_AccountsNotesAndLoansReceivableLineItems', window );"><strong>Allowance for credit losses</strong></a></td>
<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">$ 904,943<span></span>
</td>
<td class="nump">$ 970,950<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>Allowance for credit losses</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">961,745<span></span>
</td>
<td class="nump">1,020,880<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(56,802)<span></span>
</td>
<td class="num">(49,930)<span></span>
</td>
<td class="num">$ (47,126)<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">904,943<span></span>
</td>
<td class="nump">970,950<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">49,930<span></span>
</td>
<td class="nump">47,126<span></span>
</td>
<td class="nump">40,293<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">7,381<span></span>
</td>
<td class="nump">4,349<span></span>
</td>
<td class="nump">7,171<span></span>
</td>
</tr>
<tr class="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">(2,073)<span></span>
</td>
<td class="num">(109)<span></span>
</td>
<td class="num">(197)<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="nump">1,564<span></span>
</td>
<td class="num">(1,436)<span></span>
</td>
<td class="num">(141)<span></span>
</td>
</tr>
<tr class="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">56,802<span></span>
</td>
<td class="nump">49,930<span></span>
</td>
<td class="nump">47,126<span></span>
</td>
</tr>
<tr class="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>Allowance for credit losses</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">328,460<span></span>
</td>
<td class="nump">320,211<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(2,424)<span></span>
</td>
<td class="num">(1,375)<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">326,036<span></span>
</td>
<td class="nump">318,836<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">1,375<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">2,424<span></span>
</td>
<td class="nump">1,375<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_AllowanceForWarrantyInsuranceReceivableMember', window );">Warranty insurance receivable net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>Allowance for credit losses</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">84,035<span></span>
</td>
<td class="nump">84,474<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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,300)<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">82,735<span></span>
</td>
<td class="nump">84,474<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Closing balance</a></td>
<td class="nump">1,300<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=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="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>Allowance for credit losses</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">145,376<span></span>
</td>
<td class="nump">129,195<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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,878)<span></span>
</td>
<td class="num">(9,999)<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_AccountsReceivableNetCurrent', window );">Receivable, Net</a></td>
<td class="nump">133,498<span></span>
</td>
<td class="nump">119,196<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">9,999<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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,878<span></span>
</td>
<td class="nump">9,999<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember', window );">Advances to suppliers, warranty insurance receivable 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="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>Allowance for credit losses</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(15,602)<span></span>
</td>
<td class="num">(11,374)<span></span>
</td>
<td class="num">(29,079)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">11,374<span></span>
</td>
<td class="nump">29,079<span></span>
</td>
<td class="nump">28,502<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet', window );">Provision for credit losses, net</a></td>
<td class="nump">4,633<span></span>
</td>
<td class="nump">1,424<span></span>
</td>
<td class="nump">444<span></span>
</td>
</tr>
<tr class="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">(242)<span></span>
</td>
<td class="num">(18,295)<span></span>
</td>
<td class="num">(53)<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">(163)<span></span>
</td>
<td class="num">(834)<span></span>
</td>
<td class="nump">186<span></span>
</td>
</tr>
<tr class="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">$ 15,602<span></span>
</td>
<td class="nump">$ 11,374<span></span>
</td>
<td class="nump">$ 29,079<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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 4<br> -Subparagraph (SX 210.12-09(Column D))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_AllowanceForWarrantyInsuranceReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_AllowanceForWarrantyInsuranceReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>86
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413503651536">
<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, 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_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">$ 222,826<span></span>
</td>
<td class="nump">$ 310,394<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">139,116<span></span>
</td>
<td class="nump">265,109<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">817,699<span></span>
</td>
<td class="nump">948,592<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,179,641<span></span>
</td>
<td class="nump">1,524,095<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">$ 112,440<span></span>
</td>
<td class="nump">161,138<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 113,079<span></span>
</td>
<td class="nump">$ 7,475<span></span>
</td>
<td class="nump">$ 14,070<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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483080/330-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>87
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413504693168">
<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, 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_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">$ 651,920<span></span>
</td>
<td class="nump">$ 444,858<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">205,666<span></span>
</td>
<td class="nump">379,635<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">857,586<span></span>
</td>
<td class="nump">824,493<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">280,793<span></span>
</td>
<td class="nump">385,964<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">576,793<span></span>
</td>
<td class="nump">438,529<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">16,239<span></span>
</td>
<td class="nump">1,674<span></span>
</td>
<td class="nump">$ 17,152<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">$ 27,676<span></span>
</td>
<td class="nump">$ 26,439<span></span>
</td>
<td class="nump">$ 17,316<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>88
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413592020672">
<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, 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_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">$ 3,475,100<span></span>
</td>
<td class="nump">$ 2,376,170<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(1,061,281)<span></span>
</td>
<td class="num">(908,888)<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">2,413,819<span></span>
</td>
<td class="nump">1,467,282<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">674,623<span></span>
</td>
<td class="nump">359,361<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">3,088,442<span></span>
</td>
<td class="nump">1,826,643<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">287,130<span></span>
</td>
<td class="nump">225,351<span></span>
</td>
<td class="nump">$ 266,956<span></span>
</td>
</tr>
<tr class="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">978,924<span></span>
</td>
<td class="nump">764,577<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">44,275<span></span>
</td>
<td class="nump">30,896<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">2,213,281<span></span>
</td>
<td class="nump">1,470,957<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">178,455<span></span>
</td>
<td class="nump">58,928<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">14,768<span></span>
</td>
<td class="nump">11,527<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 45,397<span></span>
</td>
<td class="nump">$ 39,285<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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_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>89
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413502436896">
<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, 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_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">$ 983,172<span></span>
</td>
<td class="nump">$ 381,907<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">(31,659)<span></span>
</td>
<td class="num">(17,091)<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">951,513<span></span>
</td>
<td class="nump">364,816<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">287,130<span></span>
</td>
<td class="nump">225,351<span></span>
</td>
<td class="nump">$ 266,956<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_SolarPowerSystemsReclassifiedToProjectAssets', window );">Reclassification of solar power systems to project assets</a></td>
<td class="nump">119,067<span></span>
</td>
<td class="nump">263,710<span></span>
</td>
<td class="nump">0<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">33,097<span></span>
</td>
<td class="nump">18,666<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 in operation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">532,833<span></span>
</td>
<td class="nump">172,707<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">14,266<span></span>
</td>
<td class="nump">4,074<span></span>
</td>
<td class="nump">$ 11,212<span></span>
</td>
</tr>
<tr class="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">$ 450,339<span></span>
</td>
<td class="nump">$ 209,200<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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>90
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413508064624">
<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, 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_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">$ 44,078<span></span>
</td>
<td class="nump">$ 39,091<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(24,351)<span></span>
</td>
<td class="num">(21,561)<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">19,727<span></span>
</td>
<td class="nump">17,530<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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,793<span></span>
</td>
<td class="nump">3,586<span></span>
</td>
<td class="nump">$ 4,601<span></span>
</td>
</tr>
<tr class="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 );">2024</a></td>
<td class="nump">3,532<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">2025</a></td>
<td class="nump">3,066<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">2026</a></td>
<td class="nump">2,821<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">2027</a></td>
<td class="nump">2,669<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">2028</a></td>
<td class="nump">2,597<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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,042<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="text">&#160;<span></span>
</td>
<td class="nump">1,443<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,430)<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="text">&#160;<span></span>
</td>
<td class="nump">13<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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,898<span></span>
</td>
<td class="nump">37,648<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(23,820)<span></span>
</td>
<td class="num">(20,131)<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">14,078<span></span>
</td>
<td class="nump">$ 17,517<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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_CustomerRelatedIntangibleAssetsMember', window );">Customer-related intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">3,647<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(478)<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_FiniteLivedIntangibleAssetsNet', window );">Total intangible assets, net</a></td>
<td class="nump">3,169<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_TrademarksMember', window );">Trademark</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">2,533<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(53)<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_FiniteLivedIntangibleAssetsNet', window );">Total intangible assets, net</a></td>
<td class="nump">$ 2,480<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_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483147/928-340-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelatedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_CustomerRelatedIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_TrademarksMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_TrademarksMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413503461424">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 9,669<span></span>
</td>
<td class="nump">$ 18,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_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral', window );">Total derivatives liability</a></td>
<td class="nump">7,503<span></span>
</td>
<td class="nump">25,359<span></span>
</td>
</tr>
<tr class="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">9,282<span></span>
</td>
<td class="nump">7,730<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">9,576<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">210<span></span>
</td>
</tr>
<tr class="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">387<span></span>
</td>
<td class="nump">1,064<span></span>
</td>
</tr>
<tr class="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">6,702<span></span>
</td>
<td class="nump">24,104<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">$ 1,255<span></span>
</td>
</tr>
<tr class="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 non-current liabilities | Interest rate swap</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">$ 801<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> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 9<br> -SubTopic 20<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483444/210-20-55-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -SubTopic 20<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483466/210-20-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -SubTopic 20<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483444/210-20-55-10<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 9<br> -SubTopic 20<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483444/210-20-55-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -SubTopic 20<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483466/210-20-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -SubTopic 20<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483444/210-20-55-10<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>
<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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413507042864">
<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, 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_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">$ (27,504)<span></span>
</td>
<td class="num">$ (44,489)<span></span>
</td>
<td class="nump">$ 23,785<span></span>
</td>
</tr>
<tr class="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">(38,241)<span></span>
</td>
<td class="num">(49,388)<span></span>
</td>
<td class="nump">22,582<span></span>
</td>
</tr>
<tr class="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">10,712<span></span>
</td>
<td class="nump">8,918<span></span>
</td>
<td class="nump">220<span></span>
</td>
</tr>
<tr class="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="nump">$ 25<span></span>
</td>
<td class="num">$ (4,019)<span></span>
</td>
<td class="nump">$ 983<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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4E<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4C<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4CC<br> -SubTopic 10<br> -Topic 815<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4CC<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413505053168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE MEASUREMENT - Marketable securities (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, 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_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_MarketableSecuritiesCurrent', window );">Carried at fair value</a></td>
<td class="nump">$ 15,190<span></span>
</td>
<td class="nump">$ 18,337<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MarketableSecuritiesUnrealizedGainLoss', window );">Fair value (gain) losses</a></td>
<td class="nump">2,826<span></span>
</td>
<td class="nump">418<span></span>
</td>
<td class="nump">$ 4,744<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLongTermInvestments', window );">Other Long-Term Investments</a></td>
<td class="nump">22,869<span></span>
</td>
<td class="nump">7,134<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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="nump">15,500<span></span>
</td>
<td class="nump">1,810<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent', window );">Carried at fair value</a></td>
<td class="nump">4,134<span></span>
</td>
<td class="nump">3,739<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Gain of investments</a></td>
<td class="nump">$ 3,487<span></span>
</td>
<td class="nump">$ 904<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_AvailableForSaleSecuritiesDebtSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481830/320-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479130/326-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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> -Topic 321<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479536/321-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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_MarketableSecuritiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 marketable security, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_MarketableSecuritiesUnrealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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) on investment in marketable 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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MarketableSecuritiesUnrealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes 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> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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_OtherLongTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 investments 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> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLongTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506270176">
<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, 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_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 long-lived assets</a></td>
<td class="nump">$ 5,938<span></span>
</td>
<td class="nump">$ 60,330<span></span>
</td>
<td class="nump">$ 6,084<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">16,239<span></span>
</td>
<td class="nump">1,674<span></span>
</td>
<td class="nump">$ 17,152<span></span>
</td>
</tr>
<tr class="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">1,265,965<span></span>
</td>
<td class="nump">813,406<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConvertibleDebtNoncurrent', window );">Convertible debt noncurrent</a></td>
<td class="nump">$ 389,033<span></span>
</td>
<td class="nump">$ 257,615<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482130/360-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ConvertibleDebtNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 long-term convertible debt as of the balance sheet date, net of the amount due in the next twelve months or greater than the normal operating cycle, if longer. The debt is convertible into another form of financial instrument, typically the entity's 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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConvertibleDebtNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>95
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413502065872">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 11,895,760<span></span>
</td>
<td class="nump">$ 9,037,128<span></span>
</td>
</tr>
<tr class="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,805,198<span></span>
</td>
<td class="nump">1,443,816<span></span>
</td>
</tr>
<tr class="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">3,071,163<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">8,190,516<span></span>
</td>
<td class="nump">6,730,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_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">10,478<span></span>
</td>
<td class="nump">15,903<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">109,144<span></span>
</td>
<td class="nump">320,460<span></span>
</td>
</tr>
<tr class="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">40,340<span></span>
</td>
<td class="nump">30,163<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">159,962<span></span>
</td>
<td class="nump">366,526<span></span>
</td>
</tr>
<tr class="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">73,131<span></span>
</td>
<td class="nump">191,792<span></span>
</td>
</tr>
<tr class="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">16,956<span></span>
</td>
<td class="nump">49,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_OtherLiabilities', window );">Other liabilities</a></td>
<td class="nump">27,376<span></span>
</td>
<td class="nump">26,366<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">$ 117,463<span></span>
</td>
<td class="nump">$ 267,833<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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 860<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (b)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481420/860-30-50-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 860<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (b)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481420/860-30-50-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 860<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481420/860-30-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>96
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413502828384">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 236,928<span></span>
</td>
<td class="nump">$ 115,784<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_LingangFrontierCsiNewEnergyInvestmentFundLpMember', window );">Lingang Frontier CSI New Energy Investment Fund, LP</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 42,357<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">44.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>
</tr>
<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_MarangatuHoldingS.aMember', window );">Marangatu</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 30,790<span></span>
</td>
<td class="nump">$ 2,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">30.00%<span></span>
</td>
<td class="nump">30.00%<span></span>
</td>
<td class="nump">30.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_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>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 30,048<span></span>
</td>
<td class="nump">$ 27,328<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">3.00%<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>
</tr>
<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_PanatiHoldingS.a.Member', window );">Panati</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 28,185<span></span>
</td>
<td class="nump">$ 1,818<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">30.00%<span></span>
</td>
<td class="nump">30.00%<span></span>
</td>
<td class="nump">30.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_ReCrimsonHoldingsLlcMember', window );">Crimson</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 26,551<span></span>
</td>
<td class="nump">$ 22,272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 12,881<span></span>
</td>
<td class="nump">$ 14,318<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 17,677<span></span>
</td>
<td class="nump">$ 8,961<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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.50%<span></span>
</td>
<td class="nump">14.60%<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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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,553<span></span>
</td>
<td class="nump">$ 7,683<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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,957<span></span>
</td>
<td class="nump">$ 6,868<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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.00%<span></span>
</td>
<td class="nump">17.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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_SalgueiroSolarHoldingS.aMember', window );">Salgueiro</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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,250<span></span>
</td>
<td class="nump">$ 6,595<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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,028<span></span>
</td>
<td class="nump">$ 5,922<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">2.20%<span></span>
</td>
<td class="nump">4.40%<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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 4,131<span></span>
</td>
<td class="nump">$ 5,077<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 13,520<span></span>
</td>
<td class="nump">$ 6,442<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_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">8.50%<span></span>
</td>
<td class="nump">10.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_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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
<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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEquityMethodInvestmentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LingangFrontierCsiNewEnergyInvestmentFundLpMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_MarangatuHoldingS.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_MarangatuHoldingS.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_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_PanatiHoldingS.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_PanatiHoldingS.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_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>97
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413502861568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INVESTMENTS IN AFFILIATES - Other investments (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">1 Months Ended</th>
<th class="th" colspan="4">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Sep. 30, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Sep. 30, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Aug. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>director </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($) </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>Aug. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 10,392<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 14,610<span></span>
</td>
<td class="nump">$ 15,440<span></span>
</td>
<td class="nump">7,256<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>
</tr>
<tr class="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>
</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_NumberOfUnitsHeldAsInvestments', window );">Number of units held | 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">65,672<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="text">&#160;<span></span>
</td>
</tr>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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">3.00%<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>
</tr>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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.50%<span></span>
</td>
<td class="nump">14.60%<span></span>
</td>
<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_LavraSolarHoldingS.a.Member', window );">Lavras</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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="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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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="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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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="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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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="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>
</tr>
<tr class="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>
</tr>
<tr class="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">14.00%<span></span>
</td>
<td class="nump">17.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_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_ReCrimsonHoldingsLlcMember', window );">Crimson</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">20.00%<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>
<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="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="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="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>
</tr>
<tr class="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>
</tr>
<tr class="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">2.20%<span></span>
</td>
<td class="nump">4.40%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</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="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>
<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_LingangFrontierCsiNewEnergyInvestmentFundLpMember', window );">Lingang Frontier CSI New Energy Investment Fund, LP</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">44.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>
</tr>
<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_LingangFrontierCsiNewEnergyInvestmentFundLpMember', window );">Lingang Frontier CSI New Energy Investment Fund, LP | CSI Solar 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>
</tr>
<tr class="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">44.30%<span></span>
</td>
</tr>
<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.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member', window );">Salgueiro, Francisco, Jaiba and Larvras</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">$ 12,793<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_DecreaseOfNetAssets', window );">Net assets derecognized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 8,369<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_MarangatuHoldingS.aMember', window );">Marangatu 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>
</tr>
<tr class="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>
</tr>
<tr class="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">30.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">$ 12,007<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="nump">$ 6,267<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_PanatiHoldingS.a.Member', window );">Panati</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">30.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">$ 2,259<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_DecreaseOfNetAssets', window );">Net assets derecognized</a></td>
<td class="nump">$ 2,262<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></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_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_NumberOfUnitsHeldAsInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 held as 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_NumberOfUnitsHeldAsInvestments</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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of an equity method investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(b)(9)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481664/323-10-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13)(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ScheduleOfEquityMethodInvestmentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEquityMethodInvestmentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_LingangFrontierCsiNewEnergyInvestmentFundLpMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CsiSolarCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CsiSolarCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.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_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.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_MarangatuHoldingS.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_MarangatuHoldingS.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_PanatiHoldingS.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_PanatiHoldingS.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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413504323536">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 49,483<span></span>
</td>
<td class="nump">$ 11,406<span></span>
</td>
</tr>
<tr class="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">5,368<span></span>
</td>
<td class="nump">1,994<span></span>
</td>
</tr>
<tr class="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">24,489<span></span>
</td>
<td class="nump">14,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_ShortTermLeaseCost', window );">Short-term lease cost</a></td>
<td class="nump">1,824<span></span>
</td>
<td class="nump">1,028<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">$ 81,164<span></span>
</td>
<td class="nump">$ 29,364<span></span>
</td>
</tr>
<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="ro">
<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="re">
<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">50 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/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAssetAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>99
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413503532400">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_AssetsLesseeAbstract', 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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights', window );">Operating lease assets</a></td>
<td class="nump">$ 132,786<span></span>
</td>
<td class="nump">$ 35,506<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">104,221<span></span>
</td>
<td class="nump">68,094<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">237,007<span></span>
</td>
<td class="nump">103,600<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAsset', window );">Finance lease assets</a></td>
<td class="nump">$ 163,553<span></span>
</td>
<td class="nump">$ 41,705<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList', window );">Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]</a></td>
<td class="text">Property, Plant and Equipment, Net.<span></span>
</td>
<td class="text">Property, Plant and Equipment, 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_csiq_LiabilitiesLesseeAbstract', window );"><strong>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_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities, current</a></td>
<td class="nump">$ 20,204<span></span>
</td>
<td class="nump">$ 9,810<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, noncurrent</a></td>
<td class="nump">116,846<span></span>
</td>
<td class="nump">25,714<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_OperatingLeaseLiability', window );">Total operating lease liabilities</a></td>
<td class="nump">137,050<span></span>
</td>
<td class="nump">35,524<span></span>
</td>
</tr>
<tr class="re">
<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 );">Other finance lease liabilities, current</a></td>
<td class="nump">$ 88,180<span></span>
</td>
<td class="nump">$ 14,697<span></span>
</td>
</tr>
<tr class="ro">
<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">Other current liabilities<span></span>
</td>
</tr>
<tr class="re">
<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 );">Other finance lease liabilities, noncurrent</a></td>
<td class="nump">$ 71,651<span></span>
</td>
<td class="nump">$ 14,372<span></span>
</td>
</tr>
<tr class="ro">
<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">Other non-current liabilities<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_FinanceLeaseLiability', window );">Total Finance lease liabilities</a></td>
<td class="nump">$ 159,831<span></span>
</td>
<td class="nump">$ 29,069<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_AssetsLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>NA</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_AssetsLesseeAbstract</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_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_LiabilitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>NA</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_LiabilitiesLesseeAbstract</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_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_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_FinanceLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization, of right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList</td>
</tr>
<tr>
<td style="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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413714288336">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ (5,368)<span></span>
</td>
<td class="num">$ (1,994)<span></span>
</td>
</tr>
<tr class="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">(19,686)<span></span>
</td>
<td class="num">(15,032)<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">(42,319)<span></span>
</td>
<td class="num">(20,194)<span></span>
</td>
</tr>
<tr class="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="nump">167,726<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">119,412<span></span>
</td>
<td class="nump">14,393<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">$ (3,288)<span></span>
</td>
<td class="num">$ (965)<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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>101
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506755152">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">4 years<span></span>
</td>
<td class="text">1 year 9 months 18 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">14 years 4 months 24 days<span></span>
</td>
<td class="text">6 years 7 months 6 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">5.50%<span></span>
</td>
<td class="nump">4.90%<span></span>
</td>
</tr>
<tr class="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">5.70%<span></span>
</td>
<td class="nump">10.40%<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/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>102
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413504166576">
<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, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 );">2024</a></td>
<td class="nump">$ 24,927<span></span>
</td>
</tr>
<tr class="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 );">2025</a></td>
<td class="nump">18,322<span></span>
</td>
</tr>
<tr class="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 );">2026</a></td>
<td class="nump">15,952<span></span>
</td>
</tr>
<tr class="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 );">2027</a></td>
<td class="nump">12,351<span></span>
</td>
</tr>
<tr class="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 );">2028</a></td>
<td class="nump">13,655<span></span>
</td>
</tr>
<tr class="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">132,225<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">$ 217,432<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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>103
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413500452864">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Operating leases - Gross difference (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract', window );"><strong>Operating leases, gross difference</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_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 217,432<span></span>
</td>
</tr>
<tr class="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">$ 80,382<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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413513440352">
<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, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 );">2024</a></td>
<td class="nump">$ 95,023<span></span>
</td>
</tr>
<tr class="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 );">2025</a></td>
<td class="nump">30,972<span></span>
</td>
</tr>
<tr class="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 );">2026</a></td>
<td class="nump">17,411<span></span>
</td>
</tr>
<tr class="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 );">2027</a></td>
<td class="nump">16,586<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive', window );">2028</a></td>
<td class="nump">15,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_FinanceLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">3,962<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">$ 179,296<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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_FinanceLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_FinanceLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>105
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413497468816">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>LEASE - Finance leases - Gross difference (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Maturities of finance leases</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_FinanceLeaseLiabilityPaymentsDue', window );">Total future minimum lease payments</a></td>
<td class="nump">$ 179,296<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">19,465<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 159,831<span></span>
</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>
<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_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>106
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413504343136">
<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, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 );">2024</a></td>
<td class="nump">$ 119,950<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 );">2025</a></td>
<td class="nump">49,294<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 );">2026</a></td>
<td class="nump">33,363<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 );">2027</a></td>
<td class="nump">28,937<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 );">2028</a></td>
<td class="nump">28,997<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">136,187<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">$ 396,728<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>107
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413507112176">
<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, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 396,728<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_LesseeLiabilityUndiscountedExcessAmount', window );">Less: imputed interest</a></td>
<td class="nump">99,847<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">$ 296,881<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>108
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413504440928">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 108,384<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">188,497<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">296,881<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">20,204<span></span>
</td>
<td class="nump">$ 9,810<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, noncurrent</a></td>
<td class="nump">116,846<span></span>
</td>
<td class="nump">25,714<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">137,050<span></span>
</td>
<td class="nump">35,524<span></span>
</td>
</tr>
<tr class="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">$ 88,180<span></span>
</td>
<td class="nump">$ 14,697<span></span>
</td>
</tr>
<tr class="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">Other current liabilities<span></span>
</td>
</tr>
<tr class="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">$ 71,651<span></span>
</td>
<td class="nump">$ 14,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_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">Other non-current liabilities<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">$ 159,831<span></span>
</td>
<td class="nump">$ 29,069<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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>109
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413483972160">
<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="2">1 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="3"></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="2"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3"></th>
<th class="th" colspan="4"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>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, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2016 </div>
<div>USD ($) </div>
<div>Institution</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>BRL (R$)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Oct. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Oct. 31, 2023 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Jun. 30, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2023 </div>
<div>EUR (&#8364;)</div>
</th>
<th class="th">
<div>Mar. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </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>EUR (&#8364;)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>JPY (&#165;)</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>Sep. 30, 2021 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2020 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Oct. 31, 2020 </div>
<div>JPY (&#165;)</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>
</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="nump">$ 291,982<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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="nump">1,513,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="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="text">&#160;<span></span>
</td>
<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="nump">1,805,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="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="nump">450,455<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">815,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="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="text">&#160;<span></span>
</td>
<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="nump">1,265,965<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<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="nump">3,071,163<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">1,647,038<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="nump">690,215<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">3,071,163<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">581,983<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_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="nump">75,550<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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">$ 3,071,163<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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="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>
</tr>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">16.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">$ 161,709<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="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>
</tr>
<tr class="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>
</tr>
<tr class="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>
</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="nump">414,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="nump">1,763<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="nump">55,976<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="nump">462,959<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="nump">28,237<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="nump">367,354<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="nump">233,740<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="nump">609,201<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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="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>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="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="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>
</tr>
<tr class="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_GreenBondsMember', window );">Green Bonds | Convertible Debt</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>
</tr>
<tr class="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>
</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="nump">227,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="nump">225,977<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">227,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="nump">225,977<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RecurrentEnergyLlcMember', window );">Recurrent Energy, LLC</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>
</tr>
<tr class="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>
</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="nump">1,368,378<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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,056,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">1,368,378<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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,056,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_RecurrentEnergyLlcMember', window );">Recurrent Energy, LLC | Green Bonds</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>
</tr>
<tr class="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>
</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="nump">161,609<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">161,609<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
</tr>
<tr class="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>
</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,429<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">48,309<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8364; 45,000<span></span>
</td>
<td class="nump">61,132<span></span>
</td>
<td class="text">&#160;<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>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,429<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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">3 years<span></span>
</td>
<td class="text">2 years<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">$ 89,859<span></span>
</td>
<td class="nump">$ 88,200<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="nump">&#165; 9,100,000<span></span>
</td>
<td class="nump">&#165; 9,600,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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="nump">11<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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">44,317<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 6,250,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="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>
</tr>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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="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>
</tr>
<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>
</tr>
<tr class="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>
</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="nump">25,584<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="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>
</tr>
<tr class="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="nump">25,584<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_CanadianSolarNetherlandCooperativeUaMember', window );">Canadian Solar Netherlands Cooperative U.A.</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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">$ 32,736<span></span>
</td>
<td class="nump">&#8364; 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>
</tr>
<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_CsiCellsSuqianCoLtdMember', window );">CSI Cells (SuQian) 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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">142,601<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">375,229<span></span>
</td>
<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,590,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_CsiSolarCoLtdMember', window );">CSI Solar 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>
</tr>
<tr class="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>
</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="nump">1,702,785<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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,200,582<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">1,702,785<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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,200,582<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_CsiCellsYangzhouCoLtdMember', window );">CSI Cells (Yangzhou) 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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">66,350<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">263,132<span></span>
</td>
<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,900,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_Aurora01GkMember', window );">Aurora 01 GK</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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">$ 121,958<span></span>
</td>
<td class="nump">&#165; 18,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>
</tr>
<tr class="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="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">128,818<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 (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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">165,231<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 (Jiaxing) 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>
</tr>
<tr class="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>
</tr>
<tr class="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">262,044<span></span>
</td>
<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,869,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 (Jiaxing) 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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">57,949<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">413,209<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 Solar Technology (Xining) 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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">113,415<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">2,038,947<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_UnsecuredCreditFacilityMember', window );">Unsecured Credit Facility | CSI Solar Technology (Xining) 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>
</tr>
<tr class="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>
</tr>
<tr class="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">25,761<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">180,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_us-gaap_CreditFacilityAxis=csiq_UnsecuredCreditFacilityMember', window );">Unsecured Credit Facility | CSI Cells (SuQian) 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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">13,097<span></span>
</td>
<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,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_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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">5,254,518<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="nump">366,197<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">2,725,820<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">2,162,501<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 Netherlands Cooperative U.A.</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>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 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>
<td class="text">&#160;<span></span>
</td>
<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 (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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">319,993<span></span>
</td>
<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,282,809<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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 Solar Technology (Xining) 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>
</tr>
<tr class="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>
</tr>
<tr class="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">293,293<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">2,587,712<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">901,519<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</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="nump">411,160<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</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="nump">146,869<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">374,840<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">227,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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 Netherlands Cooperative U.A.</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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">110,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_SecuredCreditFacilityMember', window );">Secured Credit Facility | CSI Solar Technology (Xining) 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>
</tr>
<tr class="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>
</tr>
<tr class="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">267,532<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,858,947<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_SecuredCreditFacilityMember', window );">Secured Credit Facility | CSI Cells (SuQian) 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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">362,132<span></span>
</td>
<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_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>
</tr>
<tr class="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>
</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="nump">95,724<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">60,292<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">R$ 490,934<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="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>
</tr>
<tr class="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="nump">95,724<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_NonRecourseProjectBondsMember', window );">Non Recourse Project bonds</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>
</tr>
<tr class="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>
</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="nump">60,909<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">60,909<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_NonRecourseProjectBondsMember', window );">Non Recourse Project bonds | 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>
</tr>
<tr class="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>
</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="nump">41,024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">101,213<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">285,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="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="nump">41,024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_NonRecourseProjectFinanceFacilityMember', window );">Non Recourse Project Finance Facility [Member] | 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>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 40,921<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">R$ 205,934<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_TermLoanFacilityTwoMember', window );">Term Loan Facility Two | Canadian Solar Netherlands Cooperative U.A.</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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">$ 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>
</tr>
<tr><td colspan="24"></td></tr>
<tr><td colspan="24"><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 power and battery energy storage assets 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_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482949/835-30-55-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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_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> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.13,16)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(13)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_GreenBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_GreenBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongtermDebtTypeAxis=us-gaap_ConvertibleDebtMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LegalEntityAxis=csiq_RecurrentEnergyLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_RecurrentEnergyLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_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_CanadianSolarNetherlandCooperativeUaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CanadianSolarNetherlandCooperativeUaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CsiCellsSuqianCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CsiCellsSuqianCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CsiSolarCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CsiSolarCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CsiCellsYangzhouCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CsiCellsYangzhouCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_Aurora01GkMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_Aurora01GkMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_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_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_CsiSolarTechnologyXiningCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CsiSolarTechnologyXiningCoLtdMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_UnsecuredCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_UnsecuredCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_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_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_SecuredCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_SecuredCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=csiq_NonRecourseProjectBondsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_NonRecourseProjectBondsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_NonRecourseProjectFinanceFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_NonRecourseProjectFinanceFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_TermLoanFacilityTwoMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_TermLoanFacilityTwoMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>110
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506786880">
<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, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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 );">2024</a></td>
<td class="nump">$ 1,805,198<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo', window );">2025</a></td>
<td class="nump">551,022<span></span>
</td>
</tr>
<tr class="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 );">2026</a></td>
<td class="nump">355,269<span></span>
</td>
</tr>
<tr class="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 );">2027</a></td>
<td class="nump">84,689<span></span>
</td>
</tr>
<tr class="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 );">2028</a></td>
<td class="nump">49,252<span></span>
</td>
</tr>
<tr class="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">225,733<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">$ 3,071,163<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, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481544/470-10-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481544/470-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481544/470-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481544/470-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481544/470-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 470<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481544/470-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>111
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413608645568">
<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, 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_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">$ 27,676<span></span>
</td>
<td class="nump">$ 26,439<span></span>
</td>
<td class="nump">$ 17,316<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">33,097<span></span>
</td>
<td class="nump">18,666<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="nump">963<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">114,099<span></span>
</td>
<td class="nump">74,266<span></span>
</td>
<td class="nump">58,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_InterestCostsIncurred', window );">Total interest incurred</a></td>
<td class="nump">$ 175,835<span></span>
</td>
<td class="nump">$ 119,371<span></span>
</td>
<td class="nump">$ 75,469<span></span>
</td>
</tr>
<tr class="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">3.80%<span></span>
</td>
<td class="nump">5.30%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">6.70%<span></span>
</td>
<td class="nump">4.10%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>112
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413499103024">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 878,285<span></span>
</td>
<td class="nump">$ 1,493,399<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>113
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506905840">
<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, 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_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">$ 76,677<span></span>
</td>
<td class="nump">$ 45,146<span></span>
</td>
<td class="nump">$ 37,732<span></span>
</td>
</tr>
<tr class="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">27,944<span></span>
</td>
<td class="nump">68,411<span></span>
</td>
<td class="nump">45,053<span></span>
</td>
</tr>
<tr class="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">(21,011)<span></span>
</td>
<td class="num">(31,943)<span></span>
</td>
<td class="num">(35,432)<span></span>
</td>
</tr>
<tr class="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">(8,091)<span></span>
</td>
<td class="num">(4,937)<span></span>
</td>
<td class="num">(2,207)<span></span>
</td>
</tr>
<tr class="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">$ 75,519<span></span>
</td>
<td class="nump">$ 76,677<span></span>
</td>
<td class="nump">$ 45,146<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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>114
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506278976">
<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, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">$ 1,587,503<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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(3)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>115
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413503507648">
<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>item </div>
<div>D </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</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_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,447<span></span>
</td>
<td class="nump">$ 1,302<span></span>
</td>
</tr>
<tr class="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">227,424<span></span>
</td>
<td class="nump">225,977<span></span>
</td>
</tr>
<tr class="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">$ 2,576<span></span>
</td>
<td class="nump">4,023<span></span>
</td>
</tr>
<tr class="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/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-7<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482900/835-30-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69B<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69C<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1D<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69E<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69F<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481568/470-20-55-69F<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1F<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1F<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>116
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413509649424">
<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, 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_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">$ 408,525<span></span>
</td>
<td class="nump">$ 356,468<span></span>
</td>
<td class="nump">$ 138,464<span></span>
</td>
</tr>
<tr class="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">75,050<span></span>
</td>
<td class="nump">57,269<span></span>
</td>
<td class="nump">103,081<span></span>
</td>
</tr>
<tr class="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">(15,549)<span></span>
</td>
<td class="nump">16,084<span></span>
</td>
<td class="num">(67,237)<span></span>
</td>
</tr>
<tr class="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">59,501<span></span>
</td>
<td class="nump">73,353<span></span>
</td>
<td class="nump">35,844<span></span>
</td>
</tr>
<tr class="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">(61,704)<span></span>
</td>
<td class="num">(19,357)<span></span>
</td>
<td class="nump">6,237<span></span>
</td>
</tr>
<tr class="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">1,944<span></span>
</td>
<td class="num">(16,707)<span></span>
</td>
<td class="num">(1,124)<span></span>
</td>
</tr>
<tr class="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">2,048<span></span>
</td>
<td class="nump">10,629<span></span>
</td>
<td class="nump">685<span></span>
</td>
</tr>
<tr class="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">3,992<span></span>
</td>
<td class="num">(6,078)<span></span>
</td>
<td class="num">(439)<span></span>
</td>
</tr>
<tr class="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="num">(49,536)<span></span>
</td>
<td class="nump">22,275<span></span>
</td>
<td class="nump">66,432<span></span>
</td>
</tr>
<tr class="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">12,570<span></span>
</td>
<td class="num">(1,684)<span></span>
</td>
<td class="nump">15,937<span></span>
</td>
</tr>
<tr class="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">(4,176)<span></span>
</td>
<td class="nump">1,996<span></span>
</td>
<td class="num">(1,604)<span></span>
</td>
</tr>
<tr class="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">8,394<span></span>
</td>
<td class="nump">312<span></span>
</td>
<td class="nump">14,333<span></span>
</td>
</tr>
<tr class="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">230,768<span></span>
</td>
<td class="nump">193,705<span></span>
</td>
<td class="num">(35,943)<span></span>
</td>
</tr>
<tr class="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">55,780<span></span>
</td>
<td class="nump">47,528<span></span>
</td>
<td class="nump">47,356<span></span>
</td>
</tr>
<tr class="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="num">(724)<span></span>
</td>
<td class="nump">500<span></span>
</td>
<td class="num">(65,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_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">55,056<span></span>
</td>
<td class="nump">48,028<span></span>
</td>
<td class="num">(17,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_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">5,026<span></span>
</td>
<td class="nump">1,179<span></span>
</td>
<td class="nump">51,910<span></span>
</td>
</tr>
<tr class="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">4,104<span></span>
</td>
<td class="nump">3,054<span></span>
</td>
<td class="nump">24,047<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">2,008<span></span>
</td>
<td class="num">(173)<span></span>
</td>
<td class="num">(353)<span></span>
</td>
</tr>
<tr class="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">6,112<span></span>
</td>
<td class="nump">2,881<span></span>
</td>
<td class="nump">23,694<span></span>
</td>
</tr>
<tr class="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">153,437<span></span>
</td>
<td class="nump">69,424<span></span>
</td>
<td class="num">(7,728)<span></span>
</td>
</tr>
<tr class="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">475<span></span>
</td>
<td class="nump">872<span></span>
</td>
<td class="nump">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_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="text">&#160;<span></span>
</td>
<td class="nump">231<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">475<span></span>
</td>
<td class="nump">1,103<span></span>
</td>
<td class="nump">617<span></span>
</td>
</tr>
<tr class="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="num">(44,663)<span></span>
</td>
<td class="nump">32,052<span></span>
</td>
<td class="nump">14,448<span></span>
</td>
</tr>
<tr class="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">(7,518)<span></span>
</td>
<td class="nump">5,023<span></span>
</td>
<td class="nump">6,151<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">(25,657)<span></span>
</td>
<td class="nump">5,546<span></span>
</td>
<td class="nump">1,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_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="num">(33,175)<span></span>
</td>
<td class="nump">10,569<span></span>
</td>
<td class="nump">7,395<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">162,303<span></span>
</td>
<td class="nump">17,155<span></span>
</td>
<td class="num">(15,562)<span></span>
</td>
</tr>
<tr class="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">12,894<span></span>
</td>
<td class="nump">40,035<span></span>
</td>
<td class="nump">58,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_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">7,695<span></span>
</td>
<td class="nump">19,183<span></span>
</td>
<td class="nump">10,097<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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">10,952<span></span>
</td>
<td class="num">(2,645)<span></span>
</td>
<td class="num">(2,192)<span></span>
</td>
</tr>
<tr class="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">$ 18,647<span></span>
</td>
<td class="nump">$ 16,538<span></span>
</td>
<td class="nump">$ 7,905<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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>117
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413510164480">
<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="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>item</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_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>
</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>
</tr>
<tr class="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">$ 956<span></span>
</td>
<td class="nump">$ 961<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>
</tr>
<tr class="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>
</tr>
<tr class="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">$ 4,770<span></span>
</td>
<td class="nump">$ 5,863<span></span>
</td>
<td class="nump">$ 9,628<span></span>
</td>
</tr>
<tr class="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">(24)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,763)<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">(678)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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">(1)<span></span>
</td>
<td class="num">(415)<span></span>
</td>
<td class="num">(2)<span></span>
</td>
</tr>
<tr class="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 );">Ending balance</a></td>
<td class="nump">$ 4,745<span></span>
</td>
<td class="nump">$ 4,770<span></span>
</td>
<td class="nump">$ 5,863<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</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 );">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>
</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">26.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_us-gaap_IncomeTaxAuthorityAxis=country_US', window );">United States | 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>
</tr>
<tr class="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>
</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">28.10%<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 | 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>
</tr>
<tr class="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>
</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">25.50%<span></span>
</td>
<td class="nump">24.60%<span></span>
</td>
<td class="nump">26.40%<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</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="text">&#160;<span></span>
</td>
<td class="nump">21.90%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</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">26.10%<span></span>
</td>
<td class="nump">22.50%<span></span>
</td>
<td class="nump">22.20%<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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>
</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>
</tr>
<tr class="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>
</tr>
<tr class="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>
</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">33.00%<span></span>
</td>
<td class="nump">33.00%<span></span>
</td>
<td class="nump">33.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_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>
</tr>
<tr class="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>
</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">20.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_NumberOfBoardOfInvestmentCertificatesTaxExemption', window );">Number of Board of Investment certificates for tax exemption | item</a></td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=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>
</tr>
<tr class="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>
</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">16.50%<span></span>
</td>
<td class="nump">16.50%<span></span>
</td>
<td class="nump">16.50%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
</tr>
<tr class="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>
</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">34.00%<span></span>
</td>
<td class="nump">34.00%<span></span>
</td>
<td class="nump">34.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_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-10B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=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_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_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_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>118
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413498101600">
<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, 2023</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_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">$ 12,944<span></span>
</td>
<td class="nump">$ 17,318<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">14,728<span></span>
</td>
<td class="nump">11,772<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">5,807<span></span>
</td>
<td class="nump">1,235<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">28,720<span></span>
</td>
<td class="nump">32,351<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">18,428<span></span>
</td>
<td class="nump">36,332<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">39<span></span>
</td>
<td class="nump">40<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">46,712<span></span>
</td>
<td class="nump">28,723<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">131,094<span></span>
</td>
<td class="nump">79,474<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">190<span></span>
</td>
<td class="nump">2,677<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">15,471<span></span>
</td>
<td class="nump">14,031<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">62,003<span></span>
</td>
<td class="nump">48,761<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">336,136<span></span>
</td>
<td class="nump">272,714<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(72,678)<span></span>
</td>
<td class="num">(43,488)<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">263,458<span></span>
</td>
<td class="nump">229,226<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">654<span></span>
</td>
<td class="nump">2,899<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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,625<span></span>
</td>
<td class="nump">34,914<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">71<span></span>
</td>
<td class="nump">55<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">1,816<span></span>
</td>
<td class="nump">3,906<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">45,662<span></span>
</td>
<td class="nump">24,856<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">82,828<span></span>
</td>
<td class="nump">66,630<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">263,458<span></span>
</td>
<td class="nump">229,226<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">(82,828)<span></span>
</td>
<td class="num">(66,630)<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">180,630<span></span>
</td>
<td class="nump">162,596<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">821,591<span></span>
</td>
<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=csiq_DomesticAndStateTaxAuthorityMember', window );">U.S. federal and state</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 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">331,767<span></span>
</td>
<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">$ (72,678)<span></span>
</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>
</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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_IncomeTaxAuthorityAxis=csiq_DomesticAndStateTaxAuthorityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_DomesticAndStateTaxAuthorityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=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>119
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413502923680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES - Reconciliation (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, 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_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">(15.00%)<span></span>
</td>
<td class="num">(3.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="num">(4.00%)<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">9.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">(1.00%)<span></span>
</td>
<td class="num">(3.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="text">&#160;<span></span>
</td>
<td class="num">(2.00%)<span></span>
</td>
<td class="nump">4.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_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent', window );">Effect of cross-border tax (as a percent)</a></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="ro">
<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="text">&#160;<span></span>
</td>
<td class="num">(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_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance (as a percent)</a></td>
<td class="nump">7.00%<span></span>
</td>
<td class="num">(1.00%)<span></span>
</td>
<td class="num">(3.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_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate', window );">Effect of change in tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7.00%)<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_EffectiveIncomeTaxRateContinuingOperations', window );">Actual income tax rate (as a percent)</a></td>
<td class="nump">15.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">26.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_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" 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">$ 701,222<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries', window );">Withholding Income Tax for Undistributed Earnings of Foreign Subsidiaries</a></td>
<td class="nump">$ 5,350<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_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="re">
<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">$ 3,043<span></span>
</td>
<td class="nump">$ 2,520<span></span>
</td>
<td class="nump">$ 4,466<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_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic', window );">Per share effect - basic (in dollars per share)</a></td>
<td class="nump">$ 0.05<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
<td class="nump">$ 0.07<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_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted', window );">Per share effect - diluted (in dollars per share)</a></td>
<td class="nump">$ 0.04<span></span>
</td>
<td class="nump">$ 0.04<span></span>
</td>
<td class="nump">$ 0.07<span></span>
</td>
</tr>
<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="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 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="re">
<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">$ 35,061<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="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 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="re">
<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">$ 70,122<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_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent</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_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of withholding income tax for 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries</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_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> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482620/740-10-25-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 740<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481141/942-740-50-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 740<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480135/944-740-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>120
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413507044832">
<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, 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_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">$ 43,488<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">72,678<span></span>
</td>
<td class="nump">$ 43,488<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">43,488<span></span>
</td>
<td class="nump">45,682<span></span>
</td>
<td class="nump">$ 50,118<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet', window );">Reversals</a></td>
<td class="nump">28,819<span></span>
</td>
<td class="num">(1,531)<span></span>
</td>
<td class="num">(4,671)<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="nump">371<span></span>
</td>
<td class="num">(663)<span></span>
</td>
<td class="nump">235<span></span>
</td>
</tr>
<tr class="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">$ 72,678<span></span>
</td>
<td class="nump">$ 43,488<span></span>
</td>
<td class="nump">$ 45,682<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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>121
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413503669968">
<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, 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_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">$ 274,187<span></span>
</td>
<td class="nump">$ 239,968<span></span>
</td>
<td class="nump">$ 95,248<span></span>
</td>
</tr>
<tr class="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,290<span></span>
</td>
<td class="nump">5,183<span></span>
</td>
<td class="nump">5,300<span></span>
</td>
</tr>
<tr class="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">$ 279,477<span></span>
</td>
<td class="nump">$ 245,151<span></span>
</td>
<td class="nump">$ 100,548<span></span>
</td>
</tr>
<tr class="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">65,375,084<span></span>
</td>
<td class="nump">64,324,558<span></span>
</td>
<td class="nump">61,614,391<span></span>
</td>
</tr>
<tr class="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 RSUs and share options</a></td>
<td class="nump">546,765<span></span>
</td>
<td class="nump">586,420<span></span>
</td>
<td class="nump">985,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_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">6,272,157<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">72,194,006<span></span>
</td>
<td class="nump">71,183,135<span></span>
</td>
<td class="nump">68,872,102<span></span>
</td>
</tr>
<tr class="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">$ 4.19<span></span>
</td>
<td class="nump">$ 3.73<span></span>
</td>
<td class="nump">$ 1.55<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted earnings per share</a></td>
<td class="nump">$ 3.87<span></span>
</td>
<td class="nump">$ 3.44<span></span>
</td>
<td class="nump">$ 1.46<span></span>
</td>
</tr>
<tr class="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 );">RSUs and share options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">48,598<span></span>
</td>
<td class="nump">9,295<span></span>
</td>
<td class="nump">3,877<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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-42<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 40<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-40<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480454/718-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-22<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-23<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-28A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 6.B)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-5<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-11<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<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>122
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413503065232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>RELATED PARTY BALANCES AND TRANSACTIONS (Details)<br> &#165; in Thousands, &#165; in Thousands</strong></div></th>
<th class="th" colspan="9">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;) </div>
<div>item </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>JPY (&#165;) </div>
<div>item </div>
<div>shares</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, 2021 </div>
<div>CNY (&#165;)</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_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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent', window );">Amount due from related parties, Non current</a></td>
<td class="nump">$ 32,313,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 33,489,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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration', window );">Other Receivable, after Allowance for Credit Loss, Noncurrent, Related Party, Type [Extensible Enumeration]</a></td>
<td class="text">srt:AffiliatedEntityMember<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">srt:AffiliatedEntityMember<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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>
</tr>
<tr class="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>
</tr>
<tr class="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">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="text">&#160;<span></span>
</td>
</tr>
<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 );">Crimson</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">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>
</tr>
<tr class="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>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Granted (in shares) | shares</a></td>
<td class="nump">206,067<span></span>
</td>
<td class="nump">206,067<span></span>
</td>
<td class="nump">206,067<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="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_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>
</tr>
<tr class="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>
</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="nump">1<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="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>
</tr>
<tr class="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 );">Revenues</a></td>
<td class="nump">$ 1,591,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 230,144<span></span>
</td>
<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,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 30,601,181<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_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>
</tr>
<tr class="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Revenue from providing development services</a></td>
<td class="nump">10,004,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,405,513<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_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>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">Revenue from providing development services</a></td>
<td class="nump">6,974,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 984,527<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=us-gaap_RelatedPartyMember', window );">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="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivablesNetCurrent', window );">Amount due from related parties, current</a></td>
<td class="nump">40,582,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 48,614,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_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">$ 511,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 89,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="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=us-gaap_RelatedPartyMember', window );">Related party | 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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">70.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="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>
</tr>
<tr class="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=us-gaap_RelatedPartyMember', window );">Related party | 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>
</tr>
<tr class="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>
</tr>
<tr class="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="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="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>
</tr>
<tr class="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=us-gaap_RelatedPartyMember', window );">Related party | Canadian Solar Inc | Brazilian 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>
</tr>
<tr class="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>
</tr>
<tr class="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="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>
</tr>
<tr class="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=us-gaap_RelatedPartyMember', window );">Related party | 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>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee', window );">Equity method investee percentage</a></td>
<td class="nump">14.54%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=us-gaap_RelatedPartyMember', window );">Related party | 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>
</tr>
<tr class="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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">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="nump">$ 4,180,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 545,131<span></span>
</td>
<td class="nump">$ 7,541,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">829,053<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=us-gaap_RelatedPartyMember', window );">Related party | 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>
</tr>
<tr class="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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionAmountsOfTransaction', window );">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="nump">7,036,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 914,933<span></span>
</td>
<td class="nump">9,195,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 981,161<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=us-gaap_RelatedPartyMember', window );">Related party | 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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">$ 1,882,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 12,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember', window );">Related party | 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>
</tr>
<tr class="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>
</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="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>
</tr>
<tr class="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="nump">$ 2,995,000<span></span>
</td>
<td class="nump">&#165; 19,378<span></span>
</td>
<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=us-gaap_RelatedPartyMember', window );">Related party | 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>
</tr>
<tr class="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>
</tr>
<tr class="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="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>
</tr>
<tr class="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=us-gaap_RelatedPartyMember', window );">Related party | 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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">$ 33,664<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">52,424,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="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=us-gaap_RelatedPartyMember', window );">Related party | 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>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">$ 36,832,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 29,613,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="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=us-gaap_RelatedPartyMember', window );">Related party | 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>
</tr>
<tr class="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>
</tr>
<tr class="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 );">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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,090,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=us-gaap_RelatedPartyMember', window );">Related party | 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>
</tr>
<tr class="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>
</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="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="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>
</tr>
<tr class="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">$ 8,300,000<span></span>
</td>
<td class="nump">&#165; 58,869<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,192,000<span></span>
</td>
<td class="nump">&#165; 34,772<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,688,000<span></span>
</td>
<td class="nump">&#165; 10,831<span></span>
</td>
<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=us-gaap_RelatedPartyMember', window );">Related party | Yancheng Jiwa New Material Technology Co., Ltd | 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>
</tr>
<tr class="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>
</tr>
<tr class="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="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="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>
</tr>
<tr class="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=us-gaap_RelatedPartyMember', window );">Related party | Marangatu</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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 );">Revenues</a></td>
<td class="nump">$ 100,939,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="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="nump">30.00%<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=us-gaap_RelatedPartyMember', window );">Related party | Panati</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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 );">Revenues</a></td>
<td class="nump">$ 67,463,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="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="nump">30.00%<span></span>
</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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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=us-gaap_RelatedPartyMember', window );">Related party | Crimson</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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 );">Revenues</a></td>
<td class="nump">$ 17,182,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 367,383,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 19,777,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="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="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="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>
</tr>
<tr class="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=us-gaap_RelatedPartyMember', window );">Related party | Salgueiro</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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 );">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">$ 357,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 324,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="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="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>
</tr>
<tr class="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=us-gaap_RelatedPartyMember', window );">Related party | Francisco</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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 );">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">$ 642,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 24,883,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="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="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>
</tr>
<tr class="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=us-gaap_RelatedPartyMember', window );">Related party | Lavras</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">$ 202,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 30,064,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="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="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>
</tr>
<tr class="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=us-gaap_RelatedPartyMember', window );">Related party | Jaiba</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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 );">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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,090,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="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="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>
</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_us-gaap_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 ownership of equity interest excluding interest in entity that is consolidated and 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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 321<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479536/321-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee</td>
</tr>
<tr>
<td style="padding-right: 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> -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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_OtherReceivableAfterAllowanceForCreditLossNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 receivable classified as other and 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/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 type of related party for receivable, after allowance for credit loss, classified as other and 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/2009/role/commonPracticeRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration</td>
</tr>
<tr>
<td style="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_OtherReceivablesNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, of receivables classified as other, due within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_RelatedPartyTransactionAmountsOfTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transactions with related party during the financial reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 850<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483326/850-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionAmountsOfTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CounterpartyNameAxis=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_CounterpartyNameAxis=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_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=us-gaap_RelatedPartyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_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_dei_LegalEntityAxis=csiq_BrazilianInvestorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_BrazilianInvestorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=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;">srt_CounterpartyNameAxis=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_srt_CounterpartyNameAxis=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;">srt_CounterpartyNameAxis=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_srt_CounterpartyNameAxis=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;">srt_CounterpartyNameAxis=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_srt_CounterpartyNameAxis=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;">srt_CounterpartyNameAxis=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_srt_CounterpartyNameAxis=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;">srt_CounterpartyNameAxis=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_srt_CounterpartyNameAxis=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;">srt_CounterpartyNameAxis=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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_CounterpartyNameAxis=csiq_MarangatuHoldingS.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_CounterpartyNameAxis=csiq_MarangatuHoldingS.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_CounterpartyNameAxis=csiq_PanatiHoldingS.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_CounterpartyNameAxis=csiq_PanatiHoldingS.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_CounterpartyNameAxis=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_CounterpartyNameAxis=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_CounterpartyNameAxis=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_CounterpartyNameAxis=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_CounterpartyNameAxis=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_CounterpartyNameAxis=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_CounterpartyNameAxis=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_CounterpartyNameAxis=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_CounterpartyNameAxis=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_CounterpartyNameAxis=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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>123
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506295648">
<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, 2023 </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 commitments</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 );">2023</a></td>
<td class="nump">$ 658,523<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInNextTwelveMonths', window );">2024</a></td>
<td class="nump">622,701<span></span>
</td>
</tr>
<tr class="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 );">2025</a></td>
<td class="nump">33,234<span></span>
</td>
</tr>
<tr class="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 );">2026</a></td>
<td class="nump">2,562<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInFourthYear', window );">2027</a></td>
<td class="nump">9<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligationDueInFifthYear', window );">2028</a></td>
<td class="nump">17<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PurchaseObligation', window );">Total</a></td>
<td class="nump">658,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_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 commitments</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 );">2023</a></td>
<td class="nump">32,486<span></span>
</td>
</tr>
<tr class="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 );">2024</a></td>
<td class="nump">29,715<span></span>
</td>
</tr>
<tr class="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 );">2025</a></td>
<td class="nump">2,425<span></span>
</td>
</tr>
<tr class="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 );">2026</a></td>
<td class="nump">346<span></span>
</td>
</tr>
<tr class="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">$ 32,486<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> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_PurchaseObligationDueInFifthYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 fifth 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_PurchaseObligationDueInFifthYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PurchaseObligationDueInFourthYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></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 fourth 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_PurchaseObligationDueInFourthYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</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>124
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413480855296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES - Contingencies (Details) - item<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="43">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>Feb. 29, 2024</div></th>
<th class="th"><div>Jul. 31, 2023</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Sep. 30, 2022</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>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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LossContingenciesLineItems', window );"><strong>COMMITMENTS AND 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>
<td class="text">&#160;<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_NumberOfMonocrystallineSiliconPhotovoltaicCells', window );">Number of monocrystalline silicon photovoltaic cells</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">72<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells', window );">Number of monocrystalline silicon photovoltaic half-cells</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">144<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_MinimumModuleEfficiency', window );">Minimum module efficiency</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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.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>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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>
<td class="text">&#160;<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>
<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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="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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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="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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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="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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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="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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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="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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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="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="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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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">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="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_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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="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>
</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="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="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>
</tr>
<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_NinthAdministrativeReviewOfSolarOneMember', window );">Ninth 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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="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>
<td class="text">&#160;<span></span>
</td>
<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_TenthAndEleventhAdministrativeReviewOfSolarOneMember', window );">Tenth And Eleventh 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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">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="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>
<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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="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="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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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="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="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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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="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_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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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="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>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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="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>
<td class="text">&#160;<span></span>
</td>
</tr>
<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>COMMITMENTS AND 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>
<td class="text">&#160;<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="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_csiq_MinimumModuleEfficiency">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 module efficiency.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_MinimumModuleEfficiency</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_NumberOfMonocrystallineSiliconPhotovoltaicCells">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 monocrystalline silicon photovoltaic cells.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_NumberOfMonocrystallineSiliconPhotovoltaicCells</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_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 monocrystalline silicon photovoltaic half-cells.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells</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_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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-4<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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_NinthAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_NinthAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_TenthAndEleventhAdministrativeReviewOfSolarOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_TenthAndEleventhAdministrativeReviewOfSolarOneMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_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_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>125
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506660128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT INFORMATION (Narrative) (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>segment</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_NumberOfReportableSegments', window );">Number of Reportable 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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_InvestmentsInAffiliatesImpairmentCharge', window );">Impairment loss of investments in affiliates</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 357<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_AssetImpairmentCharges', window );">Impairment charges for long-lived assets</a></td>
<td class="nump">5,938<span></span>
</td>
<td class="nump">60,330<span></span>
</td>
<td class="nump">6,084<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">16,239<span></span>
</td>
<td class="nump">1,674<span></span>
</td>
<td class="nump">17,152<span></span>
</td>
</tr>
<tr class="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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_InvestmentsInAffiliatesImpairmentCharge', window );">Impairment loss of investments in affiliates</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">357<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_AssetImpairmentCharges', window );">Impairment charges for long-lived assets</a></td>
<td class="nump">5,938<span></span>
</td>
<td class="nump">60,330<span></span>
</td>
<td class="nump">6,084<span></span>
</td>
</tr>
<tr class="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_RecurrentEnergySegmentMember', window );">Recurrent 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 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">$ 16,239<span></span>
</td>
<td class="nump">$ 1,674<span></span>
</td>
<td class="nump">$ 17,152<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_csiq_InvestmentsInAffiliatesImpairmentCharge">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 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_InvestmentsInAffiliatesImpairmentCharge</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_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482130/360-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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_RecurrentEnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_RecurrentEnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413599596416">
<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, 2023 </div>
<div>USD ($) </div>
<div>segment</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_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,613,626<span></span>
</td>
<td class="nump">$ 7,468,610<span></span>
</td>
<td class="nump">$ 5,277,169<span></span>
</td>
</tr>
<tr class="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,333,643<span></span>
</td>
<td class="nump">6,205,474<span></span>
</td>
<td class="nump">4,367,857<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">1,279,983<span></span>
</td>
<td class="nump">1,263,136<span></span>
</td>
<td class="nump">909,312<span></span>
</td>
</tr>
<tr class="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">453,320<span></span>
</td>
<td class="nump">356,061<span></span>
</td>
<td class="nump">190,381<span></span>
</td>
</tr>
<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">7,230,550<span></span>
</td>
<td class="nump">6,975,612<span></span>
</td>
<td class="nump">4,371,603<span></span>
</td>
</tr>
<tr class="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,121,332<span></span>
</td>
<td class="nump">5,824,855<span></span>
</td>
<td class="nump">3,689,126<span></span>
</td>
</tr>
<tr class="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,109,218<span></span>
</td>
<td class="nump">1,150,757<span></span>
</td>
<td class="nump">682,477<span></span>
</td>
</tr>
<tr class="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">456,083<span></span>
</td>
<td class="nump">343,798<span></span>
</td>
<td class="nump">74,132<span></span>
</td>
</tr>
<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 | Recurrent 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">497,653<span></span>
</td>
<td class="nump">821,525<span></span>
</td>
<td class="nump">1,124,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_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="nump">292,926<span></span>
</td>
<td class="nump">660,161<span></span>
</td>
<td class="nump">930,099<span></span>
</td>
</tr>
<tr class="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">204,727<span></span>
</td>
<td class="nump">161,364<span></span>
</td>
<td class="nump">193,984<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income from operations</a></td>
<td class="nump">96,621<span></span>
</td>
<td class="nump">80,364<span></span>
</td>
<td class="nump">97,179<span></span>
</td>
</tr>
<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">(114,577)<span></span>
</td>
<td class="num">(328,527)<span></span>
</td>
<td class="num">(218,517)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of revenues</a></td>
<td class="num">(80,615)<span></span>
</td>
<td class="num">(279,542)<span></span>
</td>
<td class="num">(251,368)<span></span>
</td>
</tr>
<tr class="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">(33,962)<span></span>
</td>
<td class="num">(48,985)<span></span>
</td>
<td class="nump">32,851<span></span>
</td>
</tr>
<tr class="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">$ (99,384)<span></span>
</td>
<td class="num">$ (68,101)<span></span>
</td>
<td class="nump">$ 19,070<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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_RecurrentEnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_RecurrentEnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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>127
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413505139168">
<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, 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_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,613,626<span></span>
</td>
<td class="nump">$ 7,468,610<span></span>
</td>
<td class="nump">$ 5,277,169<span></span>
</td>
</tr>
<tr class="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">4,296,689<span></span>
</td>
<td class="nump">2,312,589<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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,616,145<span></span>
</td>
<td class="nump">2,793,651<span></span>
</td>
<td class="nump">2,279,594<span></span>
</td>
</tr>
<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,485,919<span></span>
</td>
<td class="nump">1,963,956<span></span>
</td>
<td class="nump">1,590,573<span></span>
</td>
</tr>
<tr class="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">528,538<span></span>
</td>
<td class="nump">5,545<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">846,387<span></span>
</td>
<td class="nump">623,331<span></span>
</td>
<td class="nump">442,603<span></span>
</td>
</tr>
<tr class="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">409,211<span></span>
</td>
<td class="nump">242,761<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">52,525<span></span>
</td>
<td class="nump">49,148<span></span>
</td>
<td class="nump">30,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_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">11,401<span></span>
</td>
<td class="nump">6,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">29,663<span></span>
</td>
<td class="nump">37,370<span></span>
</td>
<td class="nump">18,461<span></span>
</td>
</tr>
<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_PR', window );">Puerto Rico</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">37,922<span></span>
</td>
<td class="nump">22,353<span></span>
</td>
<td class="nump">11,344<span></span>
</td>
</tr>
<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="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">50,884<span></span>
</td>
<td class="nump">31,912<span></span>
</td>
<td class="nump">139,611<span></span>
</td>
</tr>
<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="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">112,845<span></span>
</td>
<td class="nump">65,581<span></span>
</td>
<td class="nump">46,210<span></span>
</td>
</tr>
<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="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">3,125,496<span></span>
</td>
<td class="nump">2,739,779<span></span>
</td>
<td class="nump">2,139,070<span></span>
</td>
</tr>
<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="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,151,243<span></span>
</td>
<td class="nump">1,904,862<span></span>
</td>
<td class="nump">1,207,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_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">2,398,130<span></span>
</td>
<td class="nump">1,668,177<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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="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">597,188<span></span>
</td>
<td class="nump">325,344<span></span>
</td>
<td class="nump">509,233<span></span>
</td>
</tr>
<tr class="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">13,164<span></span>
</td>
<td class="nump">14,440<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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="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">91,020<span></span>
</td>
<td class="nump">197,772<span></span>
</td>
<td class="nump">142,300<span></span>
</td>
</tr>
<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="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">78,203<span></span>
</td>
<td class="nump">73,531<span></span>
</td>
<td class="nump">48,838<span></span>
</td>
</tr>
<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_PH', window );">Philippines</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">40,612<span></span>
</td>
<td class="nump">26,578<span></span>
</td>
<td class="nump">6,660<span></span>
</td>
</tr>
<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">19,369<span></span>
</td>
<td class="nump">67,411<span></span>
</td>
<td class="nump">7,702<span></span>
</td>
</tr>
<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">32,707<span></span>
</td>
<td class="nump">46,254<span></span>
</td>
<td class="nump">9,979<span></span>
</td>
</tr>
<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">22,915<span></span>
</td>
<td class="nump">15,974<span></span>
</td>
<td class="nump">6,168<span></span>
</td>
</tr>
<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">10,217<span></span>
</td>
<td class="nump">9,941<span></span>
</td>
<td class="nump">59,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_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">691,467<span></span>
</td>
<td class="nump">276,497<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">16,208<span></span>
</td>
<td class="nump">9,078<span></span>
</td>
<td class="nump">19,956<span></span>
</td>
</tr>
<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">65,814<span></span>
</td>
<td class="nump">63,034<span></span>
</td>
<td class="nump">121,780<span></span>
</td>
</tr>
<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,871,985<span></span>
</td>
<td class="nump">1,935,180<span></span>
</td>
<td class="nump">858,505<span></span>
</td>
</tr>
<tr class="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">99,738<span></span>
</td>
<td class="nump">27,182<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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">445,321<span></span>
</td>
<td class="nump">434,841<span></span>
</td>
<td class="nump">100,658<span></span>
</td>
</tr>
<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">128,247<span></span>
</td>
<td class="nump">393,959<span></span>
</td>
<td class="nump">165,772<span></span>
</td>
</tr>
<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">291,385<span></span>
</td>
<td class="nump">322,189<span></span>
</td>
<td class="nump">231,995<span></span>
</td>
</tr>
<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">81,820<span></span>
</td>
<td class="nump">136,375<span></span>
</td>
<td class="nump">104,715<span></span>
</td>
</tr>
<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">218,596<span></span>
</td>
<td class="nump">118,458<span></span>
</td>
<td class="nump">90,761<span></span>
</td>
</tr>
<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">144,994<span></span>
</td>
<td class="nump">106,662<span></span>
</td>
<td class="nump">7,749<span></span>
</td>
</tr>
<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">62,079<span></span>
</td>
<td class="nump">79,414<span></span>
</td>
<td class="nump">34,604<span></span>
</td>
</tr>
<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_NO', window );">Norway</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">139,769<span></span>
</td>
<td class="nump">30,231<span></span>
</td>
<td class="nump">157<span></span>
</td>
</tr>
<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_IT', window );">Italy</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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,041<span></span>
</td>
<td class="nump">14,465<span></span>
</td>
<td class="nump">6,531<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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">41,611<span></span>
</td>
<td class="nump">63,740<span></span>
</td>
<td class="nump">7,844<span></span>
</td>
</tr>
<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">24,491<span></span>
</td>
<td class="nump">31,804<span></span>
</td>
<td class="nump">3,699<span></span>
</td>
</tr>
<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">22,341<span></span>
</td>
<td class="nump">31,147<span></span>
</td>
<td class="nump">25,980<span></span>
</td>
</tr>
<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_CO', window );">Colombia</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">61,847<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=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="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_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">63,526<span></span>
</td>
<td class="nump">66,017<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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="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">192,290<span></span>
</td>
<td class="nump">171,895<span></span>
</td>
<td class="nump">$ 78,040<span></span>
</td>
</tr>
<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="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_NoncurrentAssets', window );">Total long-lived assets</a></td>
<td class="nump">$ 19,667<span></span>
</td>
<td class="nump">$ 5,770<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> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_PR">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_PR</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_PH">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_PH</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_NO">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_NO</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_IT">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_IT</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CO">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_CO</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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>128
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413497111472">
<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, 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_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,613,626<span></span>
</td>
<td class="nump">$ 7,468,610<span></span>
</td>
<td class="nump">$ 5,277,169<span></span>
</td>
</tr>
<tr class="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="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">5,941,345<span></span>
</td>
<td class="nump">5,534,379<span></span>
</td>
<td class="nump">3,328,301<span></span>
</td>
</tr>
<tr class="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="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">679,350<span></span>
</td>
<td class="nump">538,157<span></span>
</td>
<td class="nump">302,133<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=csiq_CsiSolarSegmentMember', window );">CSI Solar Segment | EPC and 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">250,105<span></span>
</td>
<td class="nump">133,833<span></span>
</td>
<td class="nump">299,997<span></span>
</td>
</tr>
<tr class="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 | Battery storage solutions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">245,173<span></span>
</td>
<td class="nump">440,716<span></span>
</td>
<td class="nump">222,655<span></span>
</td>
</tr>
<tr class="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_RecurrentEnergySegmentMember', window );">Recurrent Energy Segment | Electricity Revenue From Operating Portfolio and 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">46,176<span></span>
</td>
<td class="nump">26,072<span></span>
</td>
<td class="nump">24,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_us-gaap_StatementBusinessSegmentsAxis=csiq_RecurrentEnergySegmentMember', window );">Recurrent Energy Segment | Solar power and battery energy storage asset 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">399,098<span></span>
</td>
<td class="nump">761,677<span></span>
</td>
<td class="nump">1,064,178<span></span>
</td>
</tr>
<tr class="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_RecurrentEnergySegmentMember', window );">Recurrent Energy Segment | Power services (O&amp;M) and asset management</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 52,379<span></span>
</td>
<td class="nump">$ 33,776<span></span>
</td>
<td class="nump">$ 35,334<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_EpcAndOthersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_EpcAndOthersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_BatteryStorageSolutionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_BatteryStorageSolutionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_RecurrentEnergySegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_RecurrentEnergySegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_ElectricityRevenueFromOperatingPortfolioAndOthersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_ElectricityRevenueFromOperatingPortfolioAndOthersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_SolarPowerAndBatteryEnergyStorageAssetSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_SolarPowerAndBatteryEnergyStorageAssetSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_PowerServicesOMAndAssetManagementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_PowerServicesOMAndAssetManagementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413502432240">
<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, 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_DefinedContributionPlanDisclosureLineItems', window );"><strong>EMPLOYEE BENEFIT PLANS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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="text">&#160;<span></span>
</td>
<td class="nump">16.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_DefinedContributionPlanCostRecognized', window );">Defined contributions schemes expense</a></td>
<td class="nump">$ 26,558<span></span>
</td>
<td class="nump">$ 17,753<span></span>
</td>
<td class="nump">$ 14,362<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetirementPlanSponsorLocationAxis=us-gaap_ForeignPlanMember', window );">Foreign Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanDisclosureLineItems', window );"><strong>EMPLOYEE BENEFIT PLANS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 1,664<span></span>
</td>
<td class="nump">383<span></span>
</td>
<td class="nump">409<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">$ 20,702<span></span>
</td>
<td class="nump">$ 15,918<span></span>
</td>
<td class="nump">$ 13,584<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch', window );">Defined Contribution Plan, Employer Matching Contribution, Percent of Match</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="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 | Foreign Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanDisclosureLineItems', window );"><strong>EMPLOYEE BENEFIT PLANS</strong></a></td>
<td class="text">&#160;<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.20%<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 | Foreign Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanDisclosureLineItems', window );"><strong>EMPLOYEE BENEFIT PLANS</strong></a></td>
<td class="text">&#160;<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_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="ro">
<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="re">
<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> -Topic 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480794/715-70-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_DefinedContributionPlanDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480794/715-70-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</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_us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 employer matches of the employee's percentage contribution matched.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch</td>
</tr>
<tr>
<td style="padding-right: 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_RetirementPlanSponsorLocationAxis=us-gaap_ForeignPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetirementPlanSponsorLocationAxis=us-gaap_ForeignPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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>130
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413505237776">
<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, 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_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="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_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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">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="ro">
<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">$ 444<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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_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> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>131
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413507787536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHARE-BASED COMPENSATION - RSUs to Employees (Details) - RSUs - 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, 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_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>
</tr>
<tr class="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">206,067<span></span>
</td>
<td class="nump">444,167<span></span>
</td>
<td class="nump">2,161,098<span></span>
</td>
</tr>
<tr class="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="nump">$ 38.64<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">1,660,182<span></span>
</td>
<td class="nump">3,189,376<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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions', window );">Total compensation cost at the date of grant</a></td>
<td class="nump">$ 7,785<span></span>
</td>
<td class="nump">$ 12,909<span></span>
</td>
<td class="nump">$ 55,822<span></span>
</td>
</tr>
<tr class="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="nump">$ 34,015<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">1 year 7 months 6 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" 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>
</tr>
<tr class="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="nump">3,189,376<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">206,067<span></span>
</td>
<td class="nump">444,167<span></span>
</td>
<td class="nump">2,161,098<span></span>
</td>
</tr>
<tr class="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="num">(1,652,686)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="num">(82,575)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">1,660,182<span></span>
</td>
<td class="nump">3,189,376<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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="nump">$ 25.65<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">38.64<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">24.81<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">26.97<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">$ 27.21<span></span>
</td>
<td class="nump">$ 25.65<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">$ 57,298<span></span>
</td>
<td class="nump">$ 13,276<span></span>
</td>
<td class="nump">$ 21,628<span></span>
</td>
</tr>
<tr class="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 );">Employees</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
</tr>
<tr class="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">2,301,000<span></span>
</td>
<td class="nump">2,301,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="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="nump">$ 25.57<span></span>
</td>
</tr>
<tr class="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="nump">1,096,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>
</tr>
<tr class="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">2,301,000<span></span>
</td>
<td class="nump">2,301,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="nump">1,096,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>
</tr>
<tr class="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="nump">$ 25.57<span></span>
</td>
</tr>
<tr class="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 );">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>
</tr>
<tr class="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>
</tr>
<tr class="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="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 );">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>
</tr>
<tr class="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>
</tr>
<tr class="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="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 );">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_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>
</tr>
<tr class="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">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 );">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_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>
</tr>
<tr class="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">4 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_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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of vesting of award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>132
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413497586352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHARE-BASED COMPENSATION - 2020 CSI Solar Employee Incentive Plan (Details)<br> $ in Thousands, &#165; in Millions</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</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>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_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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership', window );">Aggregate amount of subscription</a></td>
<td class="nump">$ 55,335<span></span>
</td>
<td class="nump">$ 9,370<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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract', window );"><strong>Company's share-based compensation expense by plan</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership', window );">Aggregate amount of subscription</a></td>
<td class="nump">55,335<span></span>
</td>
<td class="nump">9,370<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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=csiq_ShareIncentivePlan2006Member', window );">2006 Share incentive plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership', window );">Aggregate amount of subscription</a></td>
<td class="nump">46,981<span></span>
</td>
<td class="nump">9,370<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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract', window );"><strong>Company's share-based compensation expense by plan</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership', window );">Aggregate amount of subscription</a></td>
<td class="nump">46,981<span></span>
</td>
<td class="nump">$ 9,370<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>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=csiq_CsiSolarEmployeeIncentivePlan2020Member', window );">2020 CSI Solar employee incentive plan | CSI 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership', window );">Aggregate amount of subscription</a></td>
<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; 248<span></span>
</td>
<td class="nump">$ 36,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_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract', window );"><strong>Company's share-based compensation expense by plan</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Recognized compensation expense</a></td>
<td class="nump">$ 8,354<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership', window );">Aggregate amount of subscription</a></td>
<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; 248<span></span>
</td>
<td class="nump">$ 36,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 subscription agreed to equity interest in the partnership under the employee 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership</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_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> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=csiq_ShareIncentivePlan2006Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=csiq_ShareIncentivePlan2006Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=csiq_CsiSolarEmployeeIncentivePlan2020Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=csiq_CsiSolarEmployeeIncentivePlan2020Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CsiSolarCo.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_OwnershipAxis=csiq_CsiSolarCo.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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>133
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413502896752">
<tr>
<th class="tl" colspan="2" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS - Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 09, 2023</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
<th class="th"><div>Jun. 08, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>NON-CONTROLLING INTERESTS</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>
</tr>
<tr class="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>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 148,510,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_ParentMember', window );">Equity (Deficits) Attribute to Canadian Solar Inc.</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>NON-CONTROLLING INTERESTS</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of ordinary shares, net of issuance costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 148,510,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_OwnershipAxis=csiq_CsiSolarCo.Ltd.Member', window );">CSI Solar</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>NON-CONTROLLING INTERESTS</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>
</tr>
<tr class="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></sup></td>
<td class="nump">$ 927,897<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">62.24%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">37.76%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.41%<span></span>
</td>
</tr>
<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_CsiSolarCo.Ltd.Member', window );">CSI Solar | Non-Controlling Interest</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>NON-CONTROLLING INTERESTS</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of ordinary shares, net of issuance costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 644,873<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_CsiSolarCo.Ltd.Member', window );">CSI Solar | Additional Paid-in Capital</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>NON-CONTROLLING INTERESTS</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>
</tr>
<tr class="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></sup></td>
<td class="nump">244,629<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_CsiSolarCo.Ltd.Member', window );">CSI Solar | Accumulated Other Comprehensive Income</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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>NON-CONTROLLING INTERESTS</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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueNewIssues', window );">Issuance of ordinary shares, net of issuance costs</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="nump">$ 38,395<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr><td colspan="4"></td></tr>
<tr><td colspan="4"><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;">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_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_StockIssuedDuringPeriodValueNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-4<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_StatementEquityComponentsAxis=us-gaap_ParentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_ParentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_CsiSolarCo.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_OwnershipAxis=csiq_CsiSolarCo.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_StatementEquityComponentsAxis=us-gaap_NoncontrollingInterestMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_NoncontrollingInterestMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AdditionalPaidInCapitalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_AdditionalPaidInCapitalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_AccumulatedOtherComprehensiveIncomeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506679584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NON-CONTROLLING INTERESTS - Effects of changes in Company's ownership interest in less than wholly owned subsidiaries on equity attributable to Canadian Solar Inc (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>NON-CONTROLLING INTERESTS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">$ 274,187,000<span></span>
</td>
<td class="nump">$ 239,968,000<span></span>
</td>
<td class="nump">$ 95,248,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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract', window );"><strong>Transfers from the non-controlling interests:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Increase in the Company's transfer of equity interest in subsidiary and subsidiary's offering of its equity interests</a></td>
<td class="nump">3,990,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_OwnershipAxis=csiq_CsiSolarCo.Ltd.Member', window );">CSI Solar</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems', window );"><strong>NON-CONTROLLING INTERESTS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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">274,187<span></span>
</td>
<td class="nump">239,968<span></span>
</td>
<td class="nump">95,248<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract', window );"><strong>Transfers from the non-controlling interests:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet', window );">Net transfers from non-controlling interests</a></td>
<td class="nump">283,024<span></span>
</td>
<td class="nump">11,729<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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet', window );">Change from net income attributable to Canadian Solar Inc. and transfers from non-controlling interests</a></td>
<td class="nump">557,211<span></span>
</td>
<td class="nump">251,697<span></span>
</td>
<td class="nump">$ 95,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_srt_OwnershipAxis=csiq_CsiSolarCo.Ltd.Member', window );">CSI Solar | Additional Paid-in Capital</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract', window );"><strong>Transfers from the non-controlling interests:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Increase in the Company's transfer of equity interest in subsidiary and subsidiary's offering of its equity interests</a></td>
<td class="nump">244,629<span></span>
</td>
<td class="nump">11,185<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_CsiSolarCo.Ltd.Member', window );">CSI Solar | Accumulated Other Comprehensive Income (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract', window );"><strong>Transfers from the non-controlling interests:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders', window );">Increase in the Company's transfer of equity interest in subsidiary and subsidiary's offering of its equity interests</a></td>
<td class="nump">$ 38,395<span></span>
</td>
<td class="nump">$ 544<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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 element represents the total net income attributable to the parent for the period and the effect of net changes during the period impacting the parent's ownership interest in a subsidiary as it relates to the total (consolidated) equity attributable to the parent. The changes to the parent's ownership interest in a subsidiary represented by this element did not result in a deconsolidation of the subsidiary from the consolidated 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> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4M<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4M<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the period impacting the parent's ownership interest in a subsidiary as it relates to the total (consolidated) equity attributable to the parent. The changes to the parent's ownership interest in a subsidiary represented by this element did not arise in a deconsolidation of the subsidiary from the consolidated 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> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4M<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4M<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance 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_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 6.B)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-5<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-11<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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_srt_OwnershipAxis=csiq_CsiSolarCo.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_OwnershipAxis=csiq_CsiSolarCo.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_StatementEquityComponentsAxis=us-gaap_AdditionalPaidInCapitalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_AdditionalPaidInCapitalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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_AccumulatedOtherComprehensiveIncomeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><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>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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413499275232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SUBSEQUENT EVENT (Details) - Recurrent Energy, LLC - BlackRock - Subsequent event<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jan. 31, 2024 </div>
<div>USD ($) </div>
<div>tranche</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_AmountOfInvestmentCommitmentInExchangeOfVotingRights', window );">Invest amount | $</a></td>
<td class="nump">$ 500<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_NumberOfTranches', window );">Number of tranches | tranche</a></td>
<td class="nump">2<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_PercentageOfVotingRightsInExchangeOfInvestment', window );">Percentage of voting rights</a></td>
<td class="nump">20.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_AmountOfInvestmentCommitmentInExchangeOfVotingRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 investment committed in exchange of voting rights 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_AmountOfInvestmentCommitmentInExchangeOfVotingRights</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_NumberOfTranches">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tranches.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_NumberOfTranches</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_PercentageOfVotingRightsInExchangeOfInvestment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 voting rights obtained in exchange of the investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PercentageOfVotingRightsInExchangeOfInvestment</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_srt_ConsolidatedEntitiesAxis=csiq_RecurrentEnergyLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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=csiq_RecurrentEnergyLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_BlackRockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="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_BlackRockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>136
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413499988896">
<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, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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">$ 1,587,503<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> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(3)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>137
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413502669200">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 1,938,689<span></span>
</td>
<td class="nump">$ 981,434<span></span>
</td>
</tr>
<tr class="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="nump">9,282<span></span>
</td>
<td class="nump">17,516<span></span>
</td>
</tr>
<tr class="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">283,600<span></span>
</td>
<td class="nump">267,941<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">6,095,453<span></span>
</td>
<td class="nump">5,644,657<span></span>
</td>
</tr>
<tr class="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">263,458<span></span>
</td>
<td class="nump">229,226<span></span>
</td>
</tr>
<tr class="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">254,098<span></span>
</td>
<td class="nump">187,549<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">11,895,760<span></span>
</td>
<td class="nump">9,037,128<span></span>
</td>
</tr>
<tr class="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_ShortTermBorrowings', window );">Short-term borrowings</a></td>
<td class="nump">1,805,198<span></span>
</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_DerivativeLiabilitiesCurrent', window );">Derivative liabilities</a></td>
<td class="nump">6,702<span></span>
</td>
<td class="nump">25,359<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,864,391<span></span>
</td>
<td class="nump">5,258,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_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="nump">82,828<span></span>
</td>
<td class="nump">66,630<span></span>
</td>
</tr>
<tr class="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,701<span></span>
</td>
<td class="nump">5,730<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">8,190,516<span></span>
</td>
<td class="nump">6,730,434<span></span>
</td>
</tr>
<tr class="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">292,737<span></span>
</td>
<td class="nump">1,127<span></span>
</td>
</tr>
<tr class="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,549,707<span></span>
</td>
<td class="nump">1,275,520<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(118,744)<span></span>
</td>
<td class="num">(170,551)<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">2,559,243<span></span>
</td>
<td class="nump">1,941,639<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">11,895,760<span></span>
</td>
<td class="nump">9,037,128<span></span>
</td>
</tr>
<tr class="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=us-gaap_RelatedPartyMember', window );">Related Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_OtherReceivablesNetCurrent', window );">Amounts due from subsidiaries</a></td>
<td class="nump">40,582<span></span>
</td>
<td class="nump">48,614<span></span>
</td>
</tr>
<tr class="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_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">511<span></span>
</td>
<td class="nump">89<span></span>
</td>
</tr>
<tr class="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=us-gaap_NonrelatedPartyMember', window );">Nonrelated Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">587,827<span></span>
</td>
<td class="nump">293,012<span></span>
</td>
</tr>
<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">642<span></span>
</td>
<td class="nump">15,661<span></span>
</td>
</tr>
<tr class="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">14,812<span></span>
</td>
<td class="nump">13,218<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">355,263<span></span>
</td>
<td class="nump">611,564<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,561,797<span></span>
</td>
<td class="nump">2,158,474<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">11,745<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,755<span></span>
</td>
</tr>
<tr class="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">39,837<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,968,642<span></span>
</td>
<td class="nump">2,823,375<span></span>
</td>
</tr>
<tr class="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_DerivativeLiabilitiesCurrent', window );">Derivative liabilities</a></td>
<td class="nump">1,438<span></span>
</td>
<td class="nump">762<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">168,158<span></span>
</td>
<td class="nump">645,339<span></span>
</td>
</tr>
<tr class="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">227,424<span></span>
</td>
<td class="nump">225,977<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liabilities</a></td>
<td class="nump">8,115<span></span>
</td>
<td class="nump">4,690<span></span>
</td>
</tr>
<tr class="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,702<span></span>
</td>
<td class="nump">5,730<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">409,399<span></span>
</td>
<td class="nump">881,736<span></span>
</td>
</tr>
<tr class="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">292,737<span></span>
</td>
<td class="nump">1,127<span></span>
</td>
</tr>
<tr class="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,549,707<span></span>
</td>
<td class="nump">1,275,520<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(118,744)<span></span>
</td>
<td class="num">(170,551)<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">2,559,243<span></span>
</td>
<td class="nump">1,941,639<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,968,642<span></span>
</td>
<td class="nump">2,823,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_ConsolidatedEntitiesAxis=srt_ParentCompanyMember', window );">Parent Company | Reportable legal entities | Subsidiaries</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_OtherReceivablesNetCurrent', window );">Amounts due from subsidiaries</a></td>
<td class="nump">339,809<span></span>
</td>
<td class="nump">582,685<span></span>
</td>
</tr>
<tr class="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_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">157,821<span></span>
</td>
<td class="nump">640,055<span></span>
</td>
</tr>
<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 | Nonrelated Party [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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_OtherLiabilitiesCurrent', window );">Other current liabilities</a></td>
<td class="nump">$ 8,899<span></span>
</td>
<td class="nump">$ 4,522<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>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483466/210-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 210<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483466/210-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<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> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_OtherReceivablesNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, of receivables classified as other, due within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_RelatedPartyTransactionsByRelatedPartyAxis=us-gaap_RelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=us-gaap_RelatedPartyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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=us-gaap_NonrelatedPartyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( 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=us-gaap_NonrelatedPartyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></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>
<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_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=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;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=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>138
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413502681936">
<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, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_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">66,158,741<span></span>
</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_us-gaap_CommonStockSharesOutstanding', window );">Common shares, shares outstanding (in shares)</a></td>
<td class="nump">66,158,741<span></span>
</td>
<td class="nump">64,506,055<span></span>
</td>
</tr>
<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">66,158,741<span></span>
</td>
<td class="nump">64,506,055<span></span>
</td>
</tr>
<tr class="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">66,158,741<span></span>
</td>
<td class="nump">64,506,055<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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>139
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413605256160">
<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, 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_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,613,626<span></span>
</td>
<td class="nump">$ 7,468,610<span></span>
</td>
<td class="nump">$ 5,277,169<span></span>
</td>
</tr>
<tr class="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,333,643<span></span>
</td>
<td class="nump">6,205,474<span></span>
</td>
<td class="nump">4,367,857<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,279,983<span></span>
</td>
<td class="nump">1,263,136<span></span>
</td>
<td class="nump">909,312<span></span>
</td>
</tr>
<tr class="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">440,488<span></span>
</td>
<td class="nump">342,129<span></span>
</td>
<td class="nump">308,942<span></span>
</td>
</tr>
<tr class="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">100,844<span></span>
</td>
<td class="nump">69,822<span></span>
</td>
<td class="nump">58,407<span></span>
</td>
</tr>
<tr class="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">(84,339)<span></span>
</td>
<td class="num">(63,802)<span></span>
</td>
<td class="num">(47,068)<span></span>
</td>
</tr>
<tr class="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">826,663<span></span>
</td>
<td class="nump">907,075<span></span>
</td>
<td class="nump">718,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_OperatingIncomeLoss', window );">Loss from operations</a></td>
<td class="nump">453,320<span></span>
</td>
<td class="nump">356,061<span></span>
</td>
<td class="nump">190,381<span></span>
</td>
</tr>
<tr class="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 (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_InterestExpense', window );">Interest expense</a></td>
<td class="num">(114,099)<span></span>
</td>
<td class="num">(74,266)<span></span>
</td>
<td class="num">(58,153)<span></span>
</td>
</tr>
<tr class="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">51,621<span></span>
</td>
<td class="nump">40,615<span></span>
</td>
<td class="nump">11,051<span></span>
</td>
</tr>
<tr class="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">(27,504)<span></span>
</td>
<td class="num">(44,489)<span></span>
</td>
<td class="nump">23,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_ForeignCurrencyTransactionGainLossBeforeTax', window );">Foreign exchange gain (loss), net</a></td>
<td class="nump">30,555<span></span>
</td>
<td class="nump">77,689<span></span>
</td>
<td class="num">(47,234)<span></span>
</td>
</tr>
<tr class="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">14,632<span></span>
</td>
<td class="nump">858<span></span>
</td>
<td class="nump">18,634<span></span>
</td>
</tr>
<tr class="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">(44,795)<span></span>
</td>
<td class="nump">407<span></span>
</td>
<td class="num">(51,917)<span></span>
</td>
</tr>
<tr class="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">408,525<span></span>
</td>
<td class="nump">356,468<span></span>
</td>
<td class="nump">138,464<span></span>
</td>
</tr>
<tr class="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">(59,501)<span></span>
</td>
<td class="num">(73,353)<span></span>
</td>
<td class="num">(35,844)<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">274,187<span></span>
</td>
<td class="nump">239,968<span></span>
</td>
<td class="nump">95,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_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="text">&#160;<span></span>
</td>
<td class="nump">341<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="text">&#160;<span></span>
</td>
<td class="nump">341<span></span>
</td>
</tr>
<tr class="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">263<span></span>
</td>
<td class="nump">890<span></span>
</td>
<td class="nump">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_GeneralAndAdministrativeExpense', window );">General and administrative expenses</a></td>
<td class="nump">39,838<span></span>
</td>
<td class="nump">11,261<span></span>
</td>
<td class="nump">9,177<span></span>
</td>
</tr>
<tr class="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">97<span></span>
</td>
<td class="nump">155<span></span>
</td>
<td class="nump">182<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="num">(282)<span></span>
</td>
</tr>
<tr class="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">40,198<span></span>
</td>
<td class="nump">12,306<span></span>
</td>
<td class="nump">9,843<span></span>
</td>
</tr>
<tr class="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">(40,198)<span></span>
</td>
<td class="num">(12,306)<span></span>
</td>
<td class="num">(9,502)<span></span>
</td>
</tr>
<tr class="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 (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_InterestExpense', window );">Interest expense</a></td>
<td class="num">(18,720)<span></span>
</td>
<td class="num">(23,229)<span></span>
</td>
<td class="num">(19,677)<span></span>
</td>
</tr>
<tr class="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">22,862<span></span>
</td>
<td class="nump">20,563<span></span>
</td>
<td class="nump">20,249<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Gain (loss) on change in fair value of derivatives, net</a></td>
<td class="num">(1,535)<span></span>
</td>
<td class="num">(844)<span></span>
</td>
<td class="nump">4,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_ForeignCurrencyTransactionGainLossBeforeTax', window );">Foreign exchange gain (loss), net</a></td>
<td class="num">(772)<span></span>
</td>
<td class="nump">616<span></span>
</td>
<td class="num">(3,674)<span></span>
</td>
</tr>
<tr class="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">1,835<span></span>
</td>
<td class="num">(2,894)<span></span>
</td>
<td class="nump">941<span></span>
</td>
</tr>
<tr class="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">(38,363)<span></span>
</td>
<td class="num">(15,200)<span></span>
</td>
<td class="num">(8,561)<span></span>
</td>
</tr>
<tr class="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">(6,775)<span></span>
</td>
<td class="nump">8,786<span></span>
</td>
<td class="nump">2,424<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">319,325<span></span>
</td>
<td class="nump">246,382<span></span>
</td>
<td class="nump">101,385<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">$ 274,187<span></span>
</td>
<td class="nump">$ 239,968<span></span>
</td>
<td class="nump">$ 95,248<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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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 realized and unrealized gain (loss) from foreign currency transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482014/830-20-35-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481956/830-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481926/830-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481839/830-10-45-17<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of realized and unrealized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(c),9(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (210.5-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 6.B)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-5<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-11<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>140
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413506438848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (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, 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_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">$ 363,634<span></span>
</td>
<td class="nump">$ 298,555<span></span>
</td>
<td class="nump">$ 109,876<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">287,599<span></span>
</td>
<td class="nump">119,457<span></span>
</td>
<td class="nump">73,343<span></span>
</td>
</tr>
<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="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">274,187<span></span>
</td>
<td class="nump">239,968<span></span>
</td>
<td class="nump">95,248<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive income (loss) (net of tax)</a></td>
<td class="nump">13,412<span></span>
</td>
<td class="num">(120,511)<span></span>
</td>
<td class="num">(21,905)<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">$ 287,599<span></span>
</td>
<td class="nump">$ 119,457<span></span>
</td>
<td class="nump">$ 73,343<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>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 other comprehensive 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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-4<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482739/220-10-55-15<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_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>141
<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.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm140413502477664">
<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, 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_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">$ 363,634<span></span>
</td>
<td class="nump">$ 298,555<span></span>
</td>
<td class="nump">$ 109,876<span></span>
</td>
</tr>
<tr class="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">307,040<span></span>
</td>
<td class="nump">234,559<span></span>
</td>
<td class="nump">282,769<span></span>
</td>
</tr>
<tr class="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">2,145<span></span>
</td>
<td class="nump">1,302<span></span>
</td>
<td class="nump">1,461<span></span>
</td>
</tr>
<tr class="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">(5,342)<span></span>
</td>
<td class="num">(4,259)<span></span>
</td>
<td class="nump">83<span></span>
</td>
</tr>
<tr class="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">27,504<span></span>
</td>
<td class="nump">44,489<span></span>
</td>
<td class="num">(23,785)<span></span>
</td>
</tr>
<tr class="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">12,014<span></span>
</td>
<td class="nump">5,773<span></span>
</td>
<td class="nump">7,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_ShareBasedCompensation', window );">Share-based compensation</a></td>
<td class="nump">55,335<span></span>
</td>
<td class="nump">9,370<span></span>
</td>
<td class="nump">8,808<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCredits', window );">Deferred taxes</a></td>
<td class="num">(17,908)<span></span>
</td>
<td class="nump">16,908<span></span>
</td>
<td class="num">(67,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_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="nump">58,985<span></span>
</td>
<td class="num">(357,276)<span></span>
</td>
<td class="num">(284,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_IncreaseDecreaseInDueFromRelatedPartiesCurrent', window );">Amounts due from subsidiaries</a></td>
<td class="nump">9,210<span></span>
</td>
<td class="num">(4,451)<span></span>
</td>
<td class="num">(68,912)<span></span>
</td>
</tr>
<tr class="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">(22,277)<span></span>
</td>
<td class="nump">151,663<span></span>
</td>
<td class="num">(85,754)<span></span>
</td>
</tr>
<tr class="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">(33,597)<span></span>
</td>
<td class="num">(17,350)<span></span>
</td>
<td class="nump">20,357<span></span>
</td>
</tr>
<tr class="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">13,115<span></span>
</td>
<td class="nump">351,535<span></span>
</td>
<td class="nump">11,023<span></span>
</td>
</tr>
<tr class="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 from subsidiaries</a></td>
<td class="nump">427<span></span>
</td>
<td class="num">(54)<span></span>
</td>
<td class="num">(171)<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">(29)<span></span>
</td>
<td class="num">(1,718)<span></span>
</td>
<td class="num">(7,281)<span></span>
</td>
</tr>
<tr class="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">(39,133)<span></span>
</td>
<td class="num">(31,851)<span></span>
</td>
<td class="nump">31,886<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">684,615<span></span>
</td>
<td class="nump">916,631<span></span>
</td>
<td class="num">(408,254)<span></span>
</td>
</tr>
<tr class="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">(1,671,416)<span></span>
</td>
<td class="num">(630,488)<span></span>
</td>
<td class="num">(429,570)<span></span>
</td>
</tr>
<tr class="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="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_ProceedsFromMinorityShareholders', window );">Proceeds from changes in ownership interests in subsidiaries without change of control</a></td>
<td class="nump">5,910<span></span>
</td>
<td class="nump">15,109<span></span>
</td>
<td class="nump">10,003<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">2,052,828<span></span>
</td>
<td class="nump">428,639<span></span>
</td>
<td class="nump">614,071<span></span>
</td>
</tr>
<tr class="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">(89,098)<span></span>
</td>
<td class="num">(179,561)<span></span>
</td>
<td class="nump">18,320<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">976,929<span></span>
</td>
<td class="nump">535,221<span></span>
</td>
<td class="num">(205,433)<span></span>
</td>
</tr>
<tr class="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,969,503<span></span>
</td>
<td class="nump">1,434,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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the end of the year</a></td>
<td class="nump">2,946,432<span></span>
</td>
<td class="nump">1,969,503<span></span>
</td>
<td class="nump">1,434,282<span></span>
</td>
</tr>
<tr class="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">121,665<span></span>
</td>
<td class="nump">76,511<span></span>
</td>
<td class="nump">71,006<span></span>
</td>
</tr>
<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">274,187<span></span>
</td>
<td class="nump">239,968<span></span>
</td>
<td class="nump">95,248<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">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_AccretionExpense', window );">Accretion of convertible notes</a></td>
<td class="nump">1,447<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_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss', window );">Loss (gain) on change in fair value of derivatives</a></td>
<td class="nump">1,535<span></span>
</td>
<td class="nump">844<span></span>
</td>
<td class="num">(4,043)<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="num">(319,325)<span></span>
</td>
<td class="num">(246,382)<span></span>
</td>
<td class="num">(101,385)<span></span>
</td>
</tr>
<tr class="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">28,410<span></span>
</td>
<td class="nump">9,370<span></span>
</td>
<td class="nump">8,808<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCredits', window );">Deferred taxes</a></td>
<td class="nump">5,180<span></span>
</td>
<td class="nump">3,319<span></span>
</td>
<td class="nump">805<span></span>
</td>
</tr>
<tr class="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_IncreaseDecreaseInDueFromRelatedPartiesCurrent', window );">Amounts due from subsidiaries</a></td>
<td class="nump">245,001<span></span>
</td>
<td class="nump">10,990<span></span>
</td>
<td class="num">(206,892)<span></span>
</td>
</tr>
<tr class="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="num">(1,594)<span></span>
</td>
<td class="num">(7,900)<span></span>
</td>
<td class="nump">17,353<span></span>
</td>
</tr>
<tr class="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="text">&#160;<span></span>
</td>
<td class="nump">10<span></span>
</td>
<td class="num">(4,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_IncreaseDecreaseInDueToRelatedPartiesCurrent', window );">Amounts due from subsidiaries</a></td>
<td class="num">(232,650)<span></span>
</td>
<td class="nump">38,610<span></span>
</td>
<td class="num">(42,224)<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">4,377<span></span>
</td>
<td class="num">(1,154)<span></span>
</td>
<td class="num">(27,293)<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_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes', window );">Liability for uncertain tax positions</a></td>
<td class="num">(28)<span></span>
</td>
<td class="num">(1,702)<span></span>
</td>
<td class="num">(5,915)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfDerivatives', window );">Net settlement of derivatives</a></td>
<td class="num">(859)<span></span>
</td>
<td class="nump">439<span></span>
</td>
<td class="nump">4,633<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">5,681<span></span>
</td>
<td class="nump">47,714<span></span>
</td>
<td class="num">(264,201)<span></span>
</td>
</tr>
<tr class="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 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">(22,164)<span></span>
</td>
<td class="num">(65,421)<span></span>
</td>
<td class="num">(138,456)<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_PaymentsToAcquireAffiliates', window );">Investments in affiliates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(990)<span></span>
</td>
<td class="num">(5,273)<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_PaymentsForProceedsFromLoansToSubsidiaries', window );">Loans to subsidiaries</a></td>
<td class="num">(62,226)<span></span>
</td>
<td class="num">(122,050)<span></span>
</td>
<td class="num">(201,192)<span></span>
</td>
</tr>
<tr class="ro">
<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">69,150<span></span>
</td>
<td class="nump">172,573<span></span>
</td>
<td class="nump">253,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_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(15,240)<span></span>
</td>
<td class="num">(15,888)<span></span>
</td>
<td class="num">(91,105)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>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="re">
<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="text">&#160;<span></span>
</td>
<td class="num">(80,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_csiq_RepaymentOfLoanFromSubsidiaries', window );">Repayment of loan from subsidiary</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(49,554)<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_ProceedsFromLoansFromSubsidiaries', window );">Loans from a subsidiaries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">280,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_ProceedsFromIssuanceOfCommonStock', window );">Net proceeds from issuance of common shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">148,510<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by financing activities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(49,554)<span></span>
</td>
<td class="nump">348,510<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Effect of exchange rate changes</a></td>
<td class="num">(5,460)<span></span>
</td>
<td class="nump">5,957<span></span>
</td>
<td class="num">(797)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash, cash equivalents and restricted cash</a></td>
<td class="num">(15,019)<span></span>
</td>
<td class="num">(11,771)<span></span>
</td>
<td class="num">(7,593)<span></span>
</td>
</tr>
<tr class="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 beginning 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash at the end of the year</a></td>
<td class="nump">642<span></span>
</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_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="re">
<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">$ 11,586<span></span>
</td>
<td class="nump">$ 30,521<span></span>
</td>
<td class="nump">$ 20,272<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/2003/role/exampleRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481639/420-10-35-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482017/420-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><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> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7)(a)(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7)(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7)(a)(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.13(h))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>EXCEL
<SEQUENCE>142
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
MO=[NAZ9<M:_&/I9-4R[;CPN50@*F#>#O\Q+JULT/^FW;[=O5%W\ 4$L#!!0
M   ( -5 FE@?@BD\9@(  )$&   8    >&PO=V]R:W-H965T<R]S:&5E=#,N
M>&ULK55=;]L@%/TKR)NF5LJ"/^*TZAQ+J9.IE;HV:KKMF=@W,2H&#TC2_?L!
M=JUT<KMLVHOAPCWGGH/%)=D+^:A* (V>*L;5Q"NUKB\P5GD)%5%#40,W.VLA
M*Z)-*#=8U1)(X4 5PZ'OCW%%*/?2Q*TM9)J(K6:4PT(BM:TJ(G]> A/[B1=X
MSPOW=%-JNX#3I"8;6(+^6B^DB7#'4M *N**"(PGKB3<-+K+8YKN$;Q3VZF".
MK).5$(\VN"XFGF\% 8-<6P9BAAUDP)@E,C)^M)Q>5]("#^?/[)^==^-E111D
M@GVGA2XGWKF'"EB3+=/W8G\%K1\G,!=,N2_:-[GQF8?RK=*B:L%&045Y,Y*G
M]AP. ,'H%4#8 L)C 5$+B)S11IFS-2.:I(D4>R1MMF&S$W<V#FW<4&[_XE)+
MLTL-3J?9W>WR[N9Z-GV8S]#E]&9ZF\W1\FH^?UBBDP61P'4)FN:$G:*/Z#W"
M2)5F5258F^J6 ^=MI<NF4OA*I1GD0Q0% Q3Z8=0#SXZ'AR_AV'CNC(>=\=#Q
M17]OO,];0S;J)[-7[4+5)(>)9^Z2 KD#+_WP+AC[G_J<_B>R%[ZCSG?T%GN:
MB:HRU\?]Q0&JB40[PK: 3BA'A6",2(5JD$W":=]1-/QCQV^;Q"[U$[P[]/=6
MQ@O1HT[TZ&C1:M".B"JUA<(I;U9ZY3;,\8&8\3B(S\]&P6^J>Q)'L3_VX[A?
M?-R)C_]!O.FH2A->4+[YDX/X6 <]B?T.\$'#L,WZ"Y$;RA5BL#90?WAF.&33
M )M B]KUD)70IB.Y:6G>#) VP>ROA=#/@6U+W2N4_@)02P,$%     @ U4":
M6,B/-ECW!@  @!T  !@   !X;"]W;W)K<VAE971S+W-H965T-"YX;6RMF6UO
MV[8:AO\*X0U#"RPQWT5EB8'63G<"K$W19&>?&9NVA<FB)]%)]^\/]6+))BFV
MV\F7V')N/M+%E^>Y*5Z_Z/+/:JN4 5]W>5'=3+;&[*^FTVJY53M97>J]*NQ_
MUKK<26,OR\VTVI=*KII&NWR*(>33G<R*R>RZ^>US.;O6!Y-GA?I<@NJPV\GR
M[_<JUR\W$S0Y_O EVVQ-_<-T=KV7&_6@S._[SZ6]FO915ME.%56F"U"J]<WD
M';I:$%@W:!3_S=1+=?(=U"A/6O]97]RM;B:P?B*5JZ6I0TC[\:SF*L_K2/8Y
M_NJ"3OI[U@U/OQ^C?VC@+<R3K-1<YW]D*[.]F8@)6*FU/.3FBW[YC^J 6!UO
MJ?.J^0M>6BVG$[ \5$;ONL;V"799T7[*KUU'G#1 ?*0![AI@M\'8'4C7@'QO
M ]HUH$W/M"A-/RRDD;/K4K^ LE;;:/67IC.;UA8_*^IQ?S"E_6]FVYG9_/[3
MP_UO=XMWC[<+\/!H/S[>?GI\ /<?P/WGVR_O'N^L %R WQ\6X,V/;\&/("O
MXU8?*EFLJNNIL<]01YHNN_N];^^'1^Z',/BH"[.MP&VQ4JOS %/[\#T!/A*\
MQ]&("[6\! 3]###$)/! \^]OC@/-%]_?'$5H2#\>I(E'_I_Q"'5[&Y:&P];9
MXZK:RZ6ZF=CT4*GR64UF/_V ./PEU&6O&6SQ2L'.NI/VW4ECT6>?;.8LU;,J
M#BHX6=O6O&E=I\CG6<(1X9A?3Y]/.R2@HUQP!,]U"U_'<)(@GO:Z,PS68[ H
MQEQ7!NAU%*6-P$YNS0DAG!('):##D-&$.BB^CA*>"):$47B/PJ,HOY:ZJL"^
MU.O,A#"X=UN$DS05+D9(QXD=.P?#UZ4P)0B'*9*>(HDNT_N]*J7)B@U07VT)
MKE1U%8))7G-1OF:PQ2L%.^L\T7>>B$Z!!UOEZZZS%02LLLJ4V=.A,0''O@QU
MI?#&D?"4)\X"G/LRQD3JKN=%(%HJ.(/A69'V8&E\;JO"3HN\ 9,K6ZUK.%D;
MFRA:ZJ\T"JD0#IHO(Q0CG#IH 1D4*1V9\ @.1@%&X;[8>2#+Y;8=-IN(<KVW
M!M!$T;J89\L40D&=9#,/Z'@J,';8 C(F*!Q)2>C$!*$HV[W9JA+H?E%GQ5+O
MU,^@4,$<U44[?8P+00E)7:J CA,!/:R CB:0BQ$N/'#A*->C-G8Z:B]9!:&P
M]Q "<\[=Q!O0I3"!"7.A?%V"A$V](U"#0T)1QS"[:P8'K$N].Z+I(HQ$_)7%
M",%NT@CH"..0(Q?)UZ$4$C&&-+@41./EI)E_[:P#;XZC]#984U#4\?S3HO*J
MT1:O%>V\&P>7A.(VZ:XPRL;M4U*P^WQ?<X$0A:FW> /"A-H5X4Z*@(X)Q,C(
MI!B,$HH[I9ZFG1=!&-_=,,0Q<E%\&;6SVUNQ 4^%(!N;W8-70E$W,?M5VCWC
MF]SZOK? 5OGE5A8;5>\CUS(KP;/,#ZHVMRM59L]-M:S&,V_B=S9.&/3J24!'
M*15NL0SH,+$F=P1Y<#@H;G$^Z%)EF]K1=+2;H0_&X0*N!#+&7#9?EB3<1_-E
MMJA@0D?8!I.#XB[GKK C9)K2_ZTZZ7L11#G!+I O$TRX.(%8@H_1X,'6X+BM
MZ4ID. &'H+#O0>S42E)WF *Z4Z?2O5P(!&,H12..!@^.!L<=35<DG]3:SL0C
MF)%?5=7X-_77(3-_UVO0>KK"6H.J7H%RO<[R3)JP0<"^2Z%0,.R!^SI;32EW
M1S2@0T10/C:D@^O!<==SU]/&"@'V_<D%2QETDV=(EQ#"B(L3T!%V:G7/<0:_
M@^-^Y_;?C%7 J5#O=<4\)&-V\^&B^;($,SX"-K@>_.V7,^.UK6M\ON,CIRN^
M8_!U.!5>VEP$= BF(AG#&%P'CKN.WU157=4I\+C,I&FWM/(IM[-0@T(7%TM=
MF%*W^]ZL*^SAD?/MA-V]T<2E]F7,)DTOO_@R.P_PR,8"#]X$Q[W)IW':N2SD
M*I,%>-"Y+(%=C)=!3NZ]*L,)12[!/*0C:>IG$U^7,DS'2 ?S@N/FY?:XYNQ.
M U1;:;/I17W2D"V#5&VPY#1'7B+76@94Y#+Q$HJO0I=LQ)K@P9K@;[Q]J1DJ
M<*C4JLXI=@SW=O":]R\Q,-]-<$:L\Q+>>@PH*<&4>24]I$0<49*.6$X\>!0<
M]RC!45ME^<&X9PX=7AH8$7\NAE3NNXQ%0(4NZ4B:(8-1(7&C$AVW"!KQ+4:"
M44HA=%]RAY0("8*(FTL#2BZ$#0O=UTS3DZ.IG2HWS1%?99_^4)CVC*?_M3]&
M?-<<GCF_OT=7B_8P< C3GDU^E.4F*RJ0J[4-"2\3^UAE>]S77AB];P[ GK0Q
M>M=\W2IIMQNUP/Y_K;4Y7M0WZ ]=9_\#4$L#!!0    ( -5 FEC'H$,'+00
M ,\.   8    >&PO=V]R:W-H965T<R]S:&5E=#4N>&ULK5?;;MLX$/T50ELL
M6J")1-TL96T#B>UN S07Q&GWF99I2UN)])*TG?[]#B5%<21:30LC0"Q29X8\
M9T9#SG#/Q7>94JK04Y$S.;)2I387MBV3E!9$GO,-9?!FQ45!% S%VI8;0<FR
M-"IRVW6<T"Y(QJSQL)R[%^,AWZH\8_1>(+DM"B)^7-&<[T<6MIXG'K)UJO2$
M/1YNR)K.J?JZN1<PLALORZR@3&:<(4%7(^L27TRQJPU*Q+>,[N7!,])4%IQ_
MUX/KY<AR](YH3A.E71#XV=$)S7/M"?;Q7^W4:M;4AH?/S]X_E>2!S()(.N'Y
M/]E2I2,KLM"2KL@V5P]\_YG6A +M+^&Y+/^C?8UU+)1LI>)%;0P[*#)6_9*G
M6H@# QP>,7!K [=MX!\Q\&H#[ZT&?FW@E\I45$H=ID21\5#P/1(:#=[T0REF
M:0WT,Z;C/E<"WF9@I\:3N]OYW9?KZ>7C;(KFC_!S,[M]G*.[3VAR=W/_,/L\
MNYU??YNAZUL8S] 9^CJ?HO?O/J!W*&/H,>5;2=A2#FT%N]$^[:1>^:I:V3VR
M,G;1#6<JE6C&EG3YVH$--!HN[C.7*[?7XY0FY\C#'Y'KN)YA0Y.WF[L&\^G;
MS7$/&Z^)C%?Z\TX3&5, J@5\\P*ZHES(#4GHR(*2(:G846O\YQ\X=/XRB7=*
M9],3.7LEK-\(Z_=Y']]"-<U8P@MJTJRR#4M;731W8R^$/W]H[P[5Z,+<. J"
MX#5LVH5A)XX&80-[Q2!H& 2]J7&G4BH0, !U4EV#=[1FA-[G7,H/%R9FP2FS
MX93.IB=R]DK+L-$R[,T&.#W@;&!0:X6@+/F!E"!,YJ0ZE9;_0@F&8TZ9!*T<
M!P?!C;"/6XG2!9WAP,'NH)4I!IP;NO&13!DT[ :][/Z&D[_."01\DI2P-96Z
M<J]()M".Y%N*^ J1'<ERLLCI&5PESB3)*1R>"X4D!5TRE5'Y$3'X;@"JR)-)
MC$%W_YX?M5A.NJC8:7U:TUY&OYD-4:-7]"MZ94Q16$0A011%<D\V/Y,A,H0;
MN^WJT44-<-B2H8L)8G,RQ VYN)?</"6BC/9:L^Q+AR[O,DE6JRS/8.9G(L2=
MK8,&85N$+LH;!.UDZ&7TF\F G9?+D=.KV,108HTW'<? )?+=J$79@,.!%SEN
MB[4!%\$A="3^^."RAWOY?*%27I@/#J*4R!9;I8L 4APQSLX2N)\)GH.7=9,2
MYIL>-GS7D1NWZ7=AGN_Y[4/3 ,/.T5*(W1?V[B]'L\-[0AA99H2A.<^)0-<L
M.3<R=KL7@&@0Q!W*71S&L1^TR[\!-_! G!9G^^"F7U"Q+CLF"1'=,E5=E)O9
MIBN[+'N1UOR5[M;*#N+%3=7JW1"QSIA$.5V!2^=\ '$05?=4#13?E/W$@BOH
M3LK'%#I.*C0 WJ\X5\\#O4#3PX[_!U!+ P04    " #50)I8+_#P\\T,   8
M9   &    'AL+W=O<FMS:&5E=',O<VAE970V+GAM;+6=?8^;N!;&OXHU6^VV
MTJ3!-J_M=*3.)+Q([;2WF=ZKJ]7^P23.A%L"62 S[;>_-DE#,(X#ZEE5ZB3D
M^'<,?@#[L4.NGO/B6[EBK$+?UVE6OKM85=7FS7A<SE=L'9>O\PW+^"?+O%C'
M%7];/([+3<'B15UHG8Z)8=CC=9QD%]=7];;/Q?55OJW2)&.?"U1NU^NX^''#
MTOSYW06^^+GA2_*XJL2&\?75)GYD,U9]W7PN^+OQ@;)(UBPKDSQ#!5N^NWB/
MWT2F+0K4$?].V'-Y]!J)77G(\V_B3;1X=V&(&K&4S2N!B/F?)W;+TE20>#W^
MWD,O#CE%P>/7/^E^O?-\9Q[BDMWFZ7^21;5Z=^%>H 5;QMNT^I(_AVR_0Y;@
MS?.TK/]'S_M8XP+-MV65K_>%>0W62;;[&W_?'XBC IB>*$#V!8A<P#Q1@.X+
M4*D <4X4,/<%3#F#>Z* M2]@205X8ZD+V/L"MES .E' V1=PY'TXE<'=%W#[
M'E9O7\"KY;!KO[KQ)W$57U\5^3,J1#2GB1>U@NK2O,V33(A]5A7\TX27JZYO
M/]W-/GV()N_OIQ,TN^=_/D[O[F?HDX]NP_=WP72&HCLT_=?7Z/Z_:(2^SB;H
MY8M7Z 5*,G2_RK=EG"W*JW'%JR* X_D^[>TN+3F5-E^ON=1GJ[A@JN(3??'W
MBT4BSI4X19_C9#'BE;F--TD5IPK65,_ZPBI^36 +-(V++,D>5=7QSU1G/M^N
MMVE<<<JG:L4*Q/>/7WM6XJ+PQ%"4S?,U0R\_Y&7Y2H$/]/B?%4/OJZI('K95
M_) R5.5\G[-XD<3\..9I7(@TKQ7T4$^_R[/1;9Y519[RCQXYI6*\42K5<8CT
MJ/N\TP)CKL>#*,E!E*3FF"<X-W$:9W.&X@I-V/PUHO@2$8,8*IWM2'9-$E?V
MIVO;=0Q*K\9/QWKJAHV(2ZC=#IMVPSS3H(;9#O.5--OQVF%!-PQ;CF$2THX+
MNW&4\+I)^Q I<*Y''-<ZQ+6.-CT<;=KK:+_D9U%9GY"O>AWY'=4ZJH[EN<2@
MKG2T)MKTXF[^IMS$<_;N@I\R)2N>V,7U[[]AVWBK.IDA83XD+("$A9"P" C6
M4I=Y4)=9T^D)=?&+$N^$E5Q>7%#UJU?BWC&K\OFW59XN6%'^@:9_;Y/JATID
M)N!QF$#"II P'Q(60,)"2%@$!&L)T3H(T=)>YN[XR"&I;\0JG6G+#M49)&QJ
M=2ZSGD5,5[HC0:8,>J4,NU'8M(D4%2FB#,]U;/4]RSXTIJUM3#[0X<.8C/>0
MBX)E\Q^H*N*LY#VP>@"U^!_O./,16:5J:2UX:$M#PJ:0,-_N'/<1P9XMW9N#
M?F&A(LRD5.K'1"J83;P3;>T<VMK1MG4]2!B)$>T"\=.7#_/+NIU5C:LE#6U<
MI[,[KFM(^IY"9O0A84&?ZH>0&:,S&5NM[QY:W]6V_O0[*^8)[S_D2_1E]K4\
M[J:J%.!V>Z4VH8[4T9]HDPX]<2%A/B0L@(2%D+ ("-;2E'?0E*?55%26VWK(
MPS65%XLDBXL?>TU=HHSW$_CVY&?,/%>/A6_T.?[$?ZGDZ77'<*9K84.2IY8]
M5)Z0,!\2%GB*+D3W:(20.:.S.5N2PD9CI!G HCIS*;LYD_"$PO:ECG>0VM3S
ML'3IG^CQ0T4&2O-!:0$H+02E15"TMFJ/[%^L%='[.1]ZE[69*@2:Y=EH?F0&
M)GLS\(\2Y<\9'ZNODHU2=-HL0SM>H+0I*,T'I06@M'!/:W7 L>%@R9>,SL>U
MU=3XMEAOW'XN\CECBQ(MBWQ]4DSJ^0(M>;""(&E34)H/2@M :>&>UAZN&X;L
M1)\-:^NG<:*QWHJ>).4F+^-47(K*[4.9+)*X2)0S1+=ZU&#!@)K4H#0?E!:
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
M<L5BWOD4 ?SS9<Z/SOZ-2'#X,9#K_P-02P,$%     @ U4":6!.*0!98 P
M?@P  !@   !X;"]W;W)K<VAE971S+W-H965T-RYX;6RM5VV/VC@0_BNC7'7J
M2A6!!/*R!:0EH5>D+KMMV#O=1V\RD*A)G+/-LI7NQY^=A!RPD!8I7XCMS#SC
MY[%G,HQWE'WG,:* URS-^42+A2AN=9V',6:$]VB!N7RSIBPC0D[91N<%0Q*5
M3EFJ&_V^I6<DR;7IN%Q[9-,QW8HTR?&1 =]F&6$_9IC2W40;:/N%;\DF%FI!
MGXX+LL$ Q5/QR.1,;U"B),.<)S0'ANN)=C>X]5UE7QK\F>".'XQ!,7FF]+N:
M+**)UE<;PA1#H1"(?+R@AVFJ@.0V_JDQM2:D<CP<[]$_E=PEEV?"T:/I7TDD
MXHGF:!#AFFQ3\8WN/F/-9Z3P0IKR\A=VE:UM:1!NN:!9[2QWD"5Y]22OM0X'
M#H9SP<&H'8Q3!^."@UD[F+_J,*P=AJ4R%952!Y\(,ATSN@.FK"6:&I1BEMZ2
M?I*K8P\$DV\3Z2>FWL,R>/BR\.]6<Q^"E7S<SY>K !X^@??Y;OG'/(#%$N9?
MGQ:KO^'](V&8BQA%$I+T!MY!DL,JIEM.\HB/=2$WI&#UL [N5<&-"\$'!MQ3
MB<=AGD<8'0/HDDE#Q]C3F1FMB/?D!QCV!S#ZQ@"> A_>O[L!'LMMG]U>.YB/
M80_,08EF[M'.P/C7P'A+J>/OOPVLT<>;%L)F<WYF"3Z\='XTRQ*NDI"#/ 2@
MZS6R)-\ OLK*P,_2GK5"JD)SRPL2XD23E80C>T%MJG;<_WA.PPK,*L%4D7F9
MFH[KCL;ZRZ%$'84\TFC8:#3\J4:RQ 27KL&LU?U:/;H$\SL".Y)MU,@V:I5M
MN<V>D<D;52>0K/+%EH6QK+(1_'LYJV85[.CP1EBFZPZ<XSOAM8:_5JF.P(Z4
MLAJEK.Z3T'J3-X.AVS^1J#7NM1)U!'8DD=U(9+=+%"P@H"EAX-'>!_@BHMXY
M45I!KLW$+L'\CL".Q',:\9SV3)3M7\%HB'CV*SMK];Y6->=-]KJ&[;CV24&O
MS)P#,\LR',LQ&[LCJFY#U>T^E5HAK^7O_M+WS'U#W[!MUW!/V.L'G5F&;%-V
MN!Q"NLU%U=4TJTT3?5?VCB?KGFRNJU[X?YBJ,[\G;)-(M5)<2\A^SY9'QZIN
MMYH(6I3]WS,5LILLA['\@X!,&<CW:TK%?J("-'\YIO\!4$L#!!0    ( -5
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
MJ0 Y/Z54?'54D5)7O<$_4$L#!!0    ( -5 FEB X^-U"0D  %<6   9
M>&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;*U8;6_;.!+^*X2WMT@!QR]RVC3-
M"^"XN3T?MDD09_> ^T9+M,2-1*HD9<?WZ^\94I+EU$GW%O<ED:GA<%Z>>6:H
MBXTV3S83PK'G(E?VLI<Y5WX>#FV<B8+;@2Z%PIN5-@5W^&G2H2V-X(G?5.3#
M:#3Z."RX5+VK"[]V;ZXN=.5RJ<2]8;8J"FZVUR+7F\O>N-<L/,@T<[0PO+HH
M>2H6POU6WAO\&K9:$ED(9:56S(C596\Z_GQ]0O)>X'<I-K;SS,B3I=9/]&.>
M7/9&9)#(1>Q( \>_M9B)/"=%,.-;K;/7'DD;N\^-]K][W^'+DELQT_F_9.*R
MR]ZG'DO$BE>Y>]";?XC:GP^D+]:Y]7_9)LA.(!Q7UNFBW@P+"JG"?_Y<QZ&S
MX=/HE0U1O2'R=H>#O)5?N.-7%T9OF"%I:*,'[ZK?#>.DHJ0LG,%;B7WNZN[A
ME^GM_-_3Q_G=+9O>?F'W#_/;V?Q^^BN;SA[GO\\?YS>+BZ'#4;1A&-=JKX/:
MZ!6UXXA]U<IEEMVH1"3["H:PL34T:@R]CM[4^$7$ S89]UDTBB9OZ)NTCD^\
MOLG_V_&@]N2P6JJAS[;DL;CLH4BL,&O1N_KYI_''T?D;1I^T1I^\I?VO&_VV
MVO& _2G-;,853R17;*%S;MA<Q8.CGW_Z%$6C\]EB[I_&Y^\95PF3SJ+2EU9"
MWDAAV1&@ZFMQ+?)MG[E,L&:K+DJNMNUV:9E6@NF5%T)5YPF]&Y^>6X9C4V$=
ML]X )^),Z5RG6W^F$4IL^#(7# \&B['7C-/[+ =C296B=E2U A=41A@Z(B@J
M,^WT6N>.RY@5.JERVE,:O99)5Z[62X<MN7/";)LE5*H!BY%<17R#[225"+@+
M"O4Z\"*7;GML8YZ+YF2]P<LW%,*(/Q V.V"/B$8G5CX>J="IX64&LU=:N])(
MY2B "<)LK%Q)D< 0&]*!4RW]V( $Z7]M'#C6L5*6@G#!I&)K9$Q7V.!@@"7+
MNY+<");KF#N1@%2-MI;=:N,R-BV$D3'O QU5]^=-91"!=GD55BFW7V62(!(W
MW+H^FX+M#,\E]]&86LD'#*AB&S)?Q=J4" @=6E;&5AR6..VUY'QC&[3<4\I4
M[-%SIQPY0A[=Q4XO$6?TJG%(#!:I<?59G'&5B@#8/RHC;2)#PU@2?I23JB+<
M5(J 0$>T1; 26.(Y:TVC@+G*B?Y.CK/KRB*L"-*L%B-PL&D,C[5AL^O9=(!"
M8O^L\BUQVZCOG5[)G,)KG(SSD(+:%D[.P?%@]O=6KXPN_/&-=7MOH:<VJXY=
M&>(E#PB^#.>UD4[:#'[D5;&D['3,CH+95'"Y<'4XNR:W=NVBM7?@+K[==)9O
MG-^X\)<5-OAXB:=7,\:.ZBWO?>[N?.ZF*"DPC\48$&* ZDLUJD\A"L 0:23)
M?DN+?+7BTEA?2%U)>J<T,NZM:W-/VTA)L_ 2+FY'"Y!5NH)[X: R!TH)*QQM
MZ!C5YW65U3*'HBW+)8ATCZ>WP8/ [C,]Z+-?73)@'8X/[W94K=@LDXJSHPZ?
MS^_O&H$!>Q K2H,&1R!#402:,FQ5@2^P+%48*Q'@P:-FWRJ4_VK;L8&$?=K@
M"45IYPD."9'1;&FH0&%*P_%262>=IV'@6JJU(#(-D22.<2(%7Y8(**C6MNZY
M3)KDF):WNTV-)_MQWN&<PZ92.IQCN+0B\$HT\IDW7%EX[\WC8'K3UF#KH,V
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
MJ$WX$I:SO8W.^Z]WOS@]:@:,6Q:)MV-Q,0 5<F( >V.6%E;J=J=T_*T!AM?
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
M($!PE]FB[3IR80"^?-DBYC-@O%MM;D;65<:3YH)2L!GEQ+31["2;;A6A/-I
M+C8&WS+!#7#;$/*+<4(C:._ S39F!-,(?B-K!FAA>0S:S(R\&QI@H#4L<?C7
M^+8]NV)JIK55Q_#.#K4 D.G^6]SD+%H1,#BKJET</S)=ZED;4$@71&G" &RS
M14N<.1-[''AROS@Q\D6!][++$!BK'1!MVQ7 =4'E&%@30_C]\O$JPX"'1=;(
MB%[7!.YKU,CF-"9OR0<#!_8"6$-*7[]&7W7@E;S-W,^$JN/"/ P@2D&J?HHB
MB'-T)%H">YZ_M=/L@S@+/5B#9T)7].=B[=6AD:07G <?CU-OBU>P! E1[?6:
M+?H;@+QP;I><16C#&X3\JT<OL1[)134]$2J6%7#4-[)EL5Q8TEZ3(V87[1D=
M-D@](0*#<KE$T0!,LFN1KZ(T 0I62TH$*9Z/'B49:($-]L"1@35\LRFW.D8C
M?J\6^OL,&]P+@+]1.27X!#=28XA=%<TAE3FE3P -3&3=&G:CEKQWP*:'5%7P
MZI>K]UX7!)'3#JLUK8E/.>*93.EM0UZL#@653,5:7\[>D,GW+. LTCK&3VAA
MT2!)@5J@5^DT^P.  "> ;: ;471*6@X935VSXP4W8=E@*XC#$R0*QYP"G?7H
M,"(_*YNHZ-V^9H=S4 %!/ER;VCL.=X9<SYYAYZ.07*P[$NZBYYWW1NZ,%45J
M0 $9W',.K:"<@FD<,D!6LBJ@M6Z7G#B^,<^51<UEXB<H!KPA%DH?";.(&Q3B
M(EC#;K-?;BF4\(]BLWV>7?'P=W[X5=O!S\$^_/CNZBK[V*':+KHX:$4 */B@
MVWIOP=9!39# +(0HWL*]I("\$)@@N]%A$P.LC0,  ]G%@,PJ(&$*"''YN2F^
M[U]/.1]I],!ET$NIP(D03[&(,!B]"(9,![Y"[\>86R90J5 3QB.\>/<H)Z$<
MYH)E>PT,CHW T^QU?!IRDZ.<(-F] FV9=#K8 . P+<.[YYW@XS09JQICK("Y
M&=/!ZF%Q GS<;HB(B"_%$H:71=D=G4Y-+&<\<J%&#!#S7FL?NZ&-@ *PU=]8
MO53@>5>T/RPK7DC"';I/4181>"IAY( KWFF,#U9@Q,*5=613>4\0XX@*(O(7
M'=R^E1P &SF3)I>H]LX-\HWOSO.G/UZR0_@B?W;Q[,'^X$=K$"=S,B#!;W3@
M.=[<CCD*4H-05AB"BS 2B/K.&J<@35!/1BN)%I*XGQ1JE.&#\979D?Z.T9 $
MX=\#XOY;? $XZXVIK[T5PJ Q!>POF9T=@LE6"S<&MQK]1"I"BW,K%\L>64BZ
M<$?HK7YK#>^G"]P'"(_L,7#&X/6)_T[-2;(S*"A(GE'.H$"9W)D"-DHHJ$9E
MRYD"47Z J/HWE-IEJI,"F0(P&U9!9<C( R46*(M'CD)JP(B@EXNH0^< ,#82
M6/(<,"3R0SER(DD. 7T4L*-/%$EX;8I*?A"K0/5FVQ X"<D6R%)5\XVWR,0/
MYK2H*9GW-))-K1HG277*<8@<$))2T"*76ZV,WP+=&2A+[.\(KN%XW0U%-%%F
MB[Y./)9=@W^"A TRVB,@6MVH16<5)H0P8C#,VP7@A^F-^)Q+Y,'30T9^N+E;
M#UI1)&G$?61 ,>G%0W":O9L!@?.RBYTDPL<T&(HGR1$6:$\@ZX);Y5V[TF@P
MN2HV@%'D P394! ;5#<%.7H=\^#E0/X7<5CH]H 4_CQ&+2#R/XX_JDN$(ZNV
MWK%S9&O[@DF5$8F</>*+@CT6G033V9Z?-?P"Q:*?N!T<$MY*-4/@J^V6 ,;1
M++D05#,Q'S!S1>W%]CT7%$<K"Q1G9.?JC%<^''O;A)AJ1FRE)/Z+_7:T355T
M@Y6"7SQP6Z<@;L*A>0T,_.K^:E 6P(C#-<#H))T;\ZQLSW\'">= ;\.%:0KD
M,I'I-)W6W)IR4',+&&M=)<963@HP2'3O7.93H:%'.\WEBTU;#36B6XU"8U!S
MG_R_2%A=3QCLSUZ(AY+!LZV+QN<3U2H$U8/H%P-"TO0I?WG,L&!O% 2.HD:)
MS;A%]S$%'H*S593\P"4W*)40I^^:A;5Z9KLA0.*$_0"K;A,2$3F:.OK_ ]MU
M2K3QSY\?1'Y3J9IN,QL:4E#'J0Y$B 04Y,B4D%!3)IB$D37#SZ("]Z[11 ;'
M2JD+U#A-YV,:)QY,26Z$VA1?(/.!54;*%B1?FX\2,$OH_ E134&E'_@@^@VG
M)[TG@;J=Z\W&J<EW4+?X.6!.PL/6>O*0H>81Q GN/(R;Z?VY;#5HGL3KSU?9
MLQ_/3B4)U;&&*1N12"=C\T-72;P2J +Z>$^<)-41J;OQ]W-*F0^'>F?[$C0M
M9!8$A9VZ60O1#D=8B=?\H-L;:^Q_K&UMO@7>G='SS%_P;N3BNDMES97"+.F/
MF/=&29QX;*4,PFR*VK0EC%:&@IE1.U-TH-=CK ,$)0QKQ)P4:S#*J/@V!,,]
MD1^(L-T%UT=INW+88/IIR6';/3;!Z0,YTB%^0$QF=/H[69@"/'4V8"Z)N9FP
M.PII!&T-7=!PS2#PKCDMN\LX6L@Y' D(TGS9&976.YU2!7::N8I*(1KJRX%3
MC@G/$/(1!9LJCLUO3%=RZMZUU3!&M 12U0Q^D='ED,>2DP4G7%J TP=4)&[L
MA&7YK8TR ^ZQ.OD+HK7Q)B7?OC0<UR+=7"_9HOMF1?%6@'<*31^&9*\[\XBQ
M=$U\HK<%FF0(TF8@BQZ5'?$6):FD-LUZ()H;FQOX &6 PE7R:9>::2I*E;IR
M>K;5\#\$7T <TUS;KFT0Q5"IBQ6Y56<KS2UK&B-:F$@+"7!&&CZ%&Q#:JZ%&
MJV(7IW03(D:9J5[5I(PKW0^G?Y8%AJ=Z+SA&^1^8Y->(C2%APO0*I\^K30+R
M?\G(1;]8GSRNQL\$NI[RB1!3=./0%ON+T.QS<[@Q,=]B;&1BS#G5@5%(5.J8
M\KT1*>Q&+4>?K710JHT2TD['"EM!V5; US@VB_X?3B$313\DGN-))8%=H[:8
M Q1L1G:\P1"Q'#4#S5LB$^CY$'#J'EP:I@9@H!(8F"3_2)3@0*[]9 A.%W)L
MJ; ##GF!:="2<!O/Y6L+*HQK4D[*S/[1I[KS(3Q5""M6!>]O>-$#K!]D0FS,
M%3GW >B0"R$6)L96K ^JB'#]#@@;V6,K]U*PGU4]G2J/(Z,@M1LB:U(,G>5(
MNC"UAAS>&>GHE>0)P#RN1#@B8..ZF(=HTOG< A&G3')+O^$NW,3UQOZFL8-(
M'3\*<D0?Q1IU+C9.Q#'?9)(#JP%?S#.=.1$]QFE= R>=IDH&$:YD<E0Y@BO*
MD9E)DL22%K!DD;=H=45L._T-Z:E?C[,WF@<$%[K0E+"Y+T>>LL$II[@SVXB\
MD%Q9!Q]K00?-1]F;-9HXAGNY4H*82+-9P$6[8:(77UWZDS#G:Q:YHURE>^PN
MSZ99EUHDER9(Y4D !XTOR:<:L<1UT:%HC?>HBDKD>=44'#24O0#59$,6JVED
MWYN_!R,F$AC<B;'"+I+4ZQ4*VGPE8I0C*KEA9B7+BA],XVKBB@HX$;N?4(>$
M&Y)2)S,.3WNZ<XG;EBT\SJ?$PXD+F(*(E&\;%U#9ALO)B;,N),V;%/=&T@<,
M:7?BKDO8:#'!';91<(\2>-Y$R>_$6MMQLH;4U+BX%BS>E!2$(:./D#'/UL#0
MKC%_A"Z:5R#&B4B F WG.&>CQO/B^:T&[D^WYR(]9I(+/R(!GRHXI\#,YBLO
MS,HV#6F:S9X]:=$,[9T]M./HV>78F.";0MZ+26YQXJ*P;"/D$>+XR&T:NF@)
MW:XPAMI3N'U2KK3G8)J0F>^!E\\,)(?$J!#W-'M4'V>OHV1) <,?X_)"@;<3
MLE!]+O?&4)IP.668F*..OLC6J\LPPX A"W^%#-&8<D.R4Z2(-*HT)\PT***1
M+$PM_"B;,C@T$I2+UT[LALF*N1:>KBB/H.-<$.&FLGKD:TQY> ,D2%F;O.D5
M$!\5^*;<D1/\HPHW?EP2>&8"3/,)_-@$PI$&IE@4EN"5Q801+*3:&?5B/6*;
MBT1*\FN#$ IGR)/+5B9-:L2H4MA1BB4(^#QA4+"'D)1CU=ST1G0@^:CBL=TK
M'\6-+.%-_G@<90,3$I C!',+6O*X *D#.G &1,]J0;\>7,Z_@[A#&;J330='
MAQI24L4:EZ8H+7!M] 2%"+NYL"'HZ5&2SW@:1+(9BHIQW'82NKI.P$*Q-35%
M\,ZSSG*E6Y#WCS;'/H,FEP@&11,U6G''KXDBP78 ^T& @(?-P,I"K-"FX-L>
MG!RY*V[94?;-2*<@U0&U98I@8#Y+#ZK]8NBE6(.$?:01I3&7V(B) B4BS@+M
M(X)2*EFO%8+8887#+>*A8*:GX6.2X+T+,;[!F;$?1Q0<RN]@@P);Q\#SY'24
M&(R+E)Z?8XN LFDVVZ'7Y#)4G3"L?(*M+#2_S*N1OHIZOASC)Z^Q[_O_F\'6
M"$*7G9^=7)R1='39>W2*4&3#;E#I$2G[0=>EY&1O^$A!!64J,_W"P??4A_Q:
ME&LX")A7NH/O3\YUV;=#UUC.35O:6_S#C9#&#Y(1O[88J;\V0/O8#T._UL>N
MTA!<DJ:)Q7WF!K6P&14;#@URVU'.M133Q$@5&%^4MC.),H^#<SG[@:-Y?"FF
M%E>T=Q -R3"??BJI_0%[R-')-1LL8-!6L1O1?@Y/G:9?PQ,E'[35;&?.CK4N
M,A-1UE:8A MZ&";O8?1]XI EX\]IVG57S9O $9WBE+Z.+B:NV)TV@U]++RQX
M4QH>6!X8@ =FOT7U-YBW31K;5&?!W'=1^$48(5FQ*\HQ/MF(?D3I1OWNQ)7H
M[[A_0)**?)0WN9GEIT4I]^;L/@$H2;B06',YH;@'I$XH^FK0+?9.OB7WOS/U
M\B1$&Z8G4U.?BB]YNS'=,NZD68&$@167__B-JS=*LIB2>D/.!U"!50"C$/ZH
MV<H?/[X.A6M8/Q<51;)H%]\2+&>H-8I3#[OC_ EA.9/$B#P1H*/4C_R ',PG
MG"KZ\113<Q4&[(FC%C'>HF4^E\B".58&ICXY^HEY"-N,A%^H<D&/.4U 3@CB
M>\H'$M%()LL^].7B059(6PT'814@N@^1F/*@;HK[<Q:U6<W9M-?JGL51:=3<
MZR/!#S^V$<3F\#6W\Y:;HE6(]'I&-U8#8J/#N[Y2;4"=7RJ6]]=DCH.J L?Y
M>./AJ:CWS<R5D#R"?U<M;I84%9R>3H+S^N!C%#46.O5S^TS3F?G)UL:RSSC@
MMF>;5/O)#NL(J#YO;4]9])QG :U0\I/C;>92Z8_7]C]%,V#YB.3=CJ0>2Y1D
MBQYX]P4HX>(%:&6JU0"57(JJE <3P9<UN!YT%]&8Q&%9P/<[9T5@:"^? J8Y
M(3=(+ G1# \Q>C5@-1MW="F]*==-6[<KZ:<53W132/A,@+!DU4,D%P5T1SH/
MXLURV1=?T0//F&$:=NIFP$LE2.@R,;WA<84#[@LTAUA$<:7L#2DRG.41.QM@
M(R''@F,@,L(VV4PU_8@NE4LM[W8FG4\<^A0LX#28[R[R\Z<_J&HB.T O/Q>'
M8=F  "+R;"UI6C#K6LP.'M?%3K\A#ALK%UI1=:*.WFEU+8-:$PZU HNU6F!@
M:[MU$B0IO\+UYUSC@.B6,U)0ANG7IKW)3M"9F$O:(9DTF!&S[&\H5<?72PO+
M'65CS9TEMD6G@0PJ,!@Y3B<JC23025," '_(4@9*CWY,;5\-):BB$NPN":_'
MEAH</++5R,/%O5C2(]UMFUW=?5T_!IOM=[V(H,;ZGY*+.8%K\<]XV^MJ<D7^
MD6"@Z5>/ML?9>PDL:8W?^+,O^QQ7WCLEM;CO(>:%/7URP32LWB^JD%!2\U-3
MCX$"M5WUL\!\7&'D%;!/5UX!&T5#QFT :,J3=GF"\^OX3Q^^Q)T'3'^_U+K7
M435$K-I(>Q<L*R-_DQ?8=0(S405<"'VB>?"] /]O,$_^XJH"C6C@-6AC0S>M
MH"4VS(Z^V2B;7HP-4TX#*5C.,YTH&H+DFU1!B;:6&)FS>12BQ5-.E[AV<$M4
M^.]U>P6]:&I!&^(MF+AZ*H[V^$9A4B)Q ! @(BQY&"NMRHH5R0,''Q6B^%A\
M%/=@1QI%M29@EO./.V.P?T9@X,]ODUQ^6@W[VY%#@;7X$+?G1IS+V%3:.]QG
MVI\FJ$6-"7VOO)F,-8E^8;K8'1EJ4U=P@$2J%%"_JB3+ABK;XN*.1*V6[IB5
M*8E?VR9>*RV48;6%T.0$USI1A\=N7H5VZ(C&Z.)<!I?F7A7>>-@[L3-^"A'*
MH489=:R:*R!A?E) ?Z+*(:[OG$(+^+:%GSF-BGQ'0Y=8M@%2]"@\*QWAL$J%
M8BPI@ +H$5-QS/5QI$5':5X46$%=B9R$JH2%4(QG0URA^NCZ..[W2"X-PNNX
MK4.A5(^3H/"/0IVH5**(]FD7<6*?KQ-,;CS)C&9QMT>QFU3:]1.F!\,:"R3U
MW:6T<8-/I.L'7-0 ?-N(2]E3SZ1TKSN.RW-FV_0D;C).AM6(:USJ&=)\QHF*
M,PUU$G?H?L]AGJ0,C].X9BP;+4^8)"[<:#F6K\%*0>:]DYH!8:K]%NP41B0I
MQIVZ.)W,2=<2HLNY:K DP5S<J6I.<L&G[_9 ]E<4!N/J^&A2I/J<J#_=(74:
M]BG-6L9-3%T$U,%V9VA>."T>#ZT1DVR1*&J,YZD1!2E@"H8R8GOPBJ7QY4/K
M,S1F\(>N\TY@3F/N1<<-T:2?D_'%84D2OD=.DK*8^XRN!';_)+V:&+8<R</.
MJ%$NC^]\&3T3NJ1-$C8G2;CQU");?,;T:]^:P$F]C0C0.,LVGH!+2]4T28[G
MA0)ZML46!+E;<-6(B.U0J8IM&>D9=,3Q'-:% 6B[L6<?B%5T#A],=L,F=HS2
MA,E=1(B1B( YW2R)W:8734DEH0_+E$*8=?,\H(2%=-"#BTB."@<58^;^-I%<
M0;WVK1S&H>J_AA:/.RI51),Q-&) #],,9,3O,I=8Q 724RFPG",A/-IW/^1G
M3Y^ )/GA++^\/.,2\._S9Y=/$R?$_8752+:XXZAB3?VYH4_\7"W0R,N,U0Q1
M=MA(F0_)3)TD@B<A.%_3R >>1FM5N,>=>U>FCZ\<W]6Q4VC8+HG.4HXHQDZ0
MS>_I%W3@;&EC7-))3>PJIZ8SM+'(6\]X(25-/DN FVB5$E_0_+5HK6F1\^G,
MU00_UB&)/"H^4I<B*;6:M7S8<;R<E"_0,7)MZ4'-KI=,AQI,GPD:,J3M@6.,
M<H W*39-<MI)J)!!M)WFJSLMQN.63 <Z,>'3U(-I'_*7[*J@Q+JD,L WM/?!
M.\KFP[R45OW3U ^)'>%)#">J."/N2^^!P+*7^<2"1WW4LX$L2D7@<=<&G_#G
M ];CY].>4<3IX:!N6?CT[_G6G7&8;RGE<PU5<:@++U0KJPHHK1,*C6+"6;^[
MO'R2/WLB+2PNGUWDEV=/']C$(EBHB<(YLQIJV\PH+_(?GCV\>7)Z'LX*BZKB
M1DTOQ)SD9"_N;A:K9^@EJ)6ES4)8';6<;$CXR[%(CBBAEWH6"R+?1;R_-&WK
M+K?5&,9)?MV<3C%[B$"O4PC\!W7$@\]DG&\5JOVD_P2YX4"[].Z32?6(5^MF
M6IQ28(E=B5$CH9I;]8UBO"*'A#-N6E I#@38PCL=(@Z"?6PW&TL9R%,+QB<?
M3YT?16C<*H;MPQNI"D*(=$T@%8VT40R?.^1@G53;<$>AN(5IV"#6["\,!2^D
M(:)%KEO4"0>>/P;L,.HV'Q^GE*XEL>18[+32R]? S^N$*KHFEI9X]5RQ41?7
MJ60W@:[!.PE[Y(S5S@ASD6913!=BF8@U<>-+=L?])_:*WKL%KG2AMTW222P
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
MO]=!NFR1RX%5JZ(MO5<6FMSB=2F@_+03@.]SI>QNX Q4OU.,_@902P,$%
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
M&O\[N'8&N+]4RCY/7(#A3V;^#U!+ P04    " #50)I8M/S2HIL#   ."0
M&0   'AL+W=O<FMS:&5E=',O<VAE970Q-BYX;6RM5FUOVS80_BN$&A0K0%@2
M)4MV:AMP7H866-8@SE;L(R.=;:X2J9%4'>_7[TC9BKTZ'K;UBT12=\\]]\([
M339*?S%K $N>ZTJ::;"VMKD,0U.LH>9FH!J0^&6I=,TM;O4J-(T&7GJEN@I9
M%&5AS84,9A-_=J]G$]7:2DBXU\2T=<WU]@HJM9D&<; _>!"KM74'X6S2\!4L
MP/[2W&O<A3U**6J01BA)-"RGP3R^O$J=O!?X5<#&'*R)\^1)J2]N\[&<!I$C
M!!44UB%P?'V%:Z@J!X0T_MAA!KU)IWBXWJ/_Z'U'7YZX@6M5?1:E74^#44!*
M6/*VL@]J\P%V_@P=7J$JXY]DT\FR84"*UEA5[Y2102UD]^;/NS@<*(RB5Q38
M3H%YWITAS_*&6SZ;:+4AVDDCFEMX5[TVDA/2)65A-7X5J&=GBT\_S1_(_:?/
MMP]D\=OB\?9N0<G/MX^3T"*ZDPF+'=)5A\1>08H9N5/2K@VYE264QP ATNJY
ML3VW*W86\0:* 4EB2EC$DC-X2>]KXO&2[^!KAY2>1G(WY=(TO(!I@%?!@/X*
MP>SMFSB+WI_AF?8\TW/H_XKG>:1\0%X#(PM5<4T:M0&\HUMCH3:42&P#A<(K
M9RQ12V+70):JPILKY.J2O'TS8E'R_C^_YY9@3J%^0I,NK_]TCGEG/OG?(%T<
MK$XX0H0DV+<T]S=_+QKGC.91WN^'":.C)#D)T&(-:Q\*J]OB"(9%8XH]K]^G
MPX@FR?@;CLDHIN,#<^-10I$"F1=%6[<5MU!B_\#Z*<0QSQ_BG$;C^-W+ 08E
M&X[?O9ZSWF:6TE&<O=@<QG08O\3O$1-ZK>J&RRVVU*+BQHBE0"(%:(LMG#1:
M_8X-D^ 'L,;5@!05)1<L2V@>1X3+DES$\9A&64ZL(N9$[,I68[GXXMD"UX:
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
M;["H</?.1>:^(!_8>9AA"?BTK[64OF"+ =KFH+FF%)0%)375&T_;+)3.77<
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
M'$K&YZQ07!1$LNEQZS1Z][Z+\\V$&\Z6RKLFJ,FM$%]Q<)$=MT(4B.4LU8A
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
MOF]I98B/F76(W9,\/[W[(T8!87'+LMB3T\BG['QF7'%: 1351K'7@( J85?
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
M-AME.EFTSUL@A=]"]Y?-4+6'UT<VC-IV+A[>^'QSS-/G2;W,,H@DV'.K*E%
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
M/<&C\Z? L!WD3(C\V$77YX>@>(PIYRJR^-IUDN&Y(TQL%%]ILP_X;>N#C4\
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
MYP;:<R+T!EA?<2B]?J /&!K^V5]02P,$%     @ U4":6!/0(JX3!@  *1,
M !D   !X;"]W;W)K<VAE971S+W-H965T,CDN>&ULS5AM;]LV$/XKA)<5#<#)
MHMXL-2^ XZ1K@B3-['1#/](2;7&52(^DXGJ_?D=)=MQ$<9NT0/<ED>B[A\]S
M/!Y//%Q*]4GGC!GTN2R$/NKEQBS>]/LZS5E)M2,73, O,ZE*:N!5S?MZH1C-
M:J>RZ'NN&_5+RD7O^+ >NU''A[(R!1?L1B%=E255JQ-6R.51C_36 V,^SXT=
MZ!\?+NB<39CYL+A1\-;?H&2\9$)S*9!BLZ/>D+PY":Q];? G9TN]]8RLDJF4
MG^S+>7;4<RTA5K#46 0*_^[8B!6%!0(:_[28O<V4UG'[>8W^MM8.6J94LY$L
M_N*9R8]Z<0]E;$:KPHSE\AUK]806+Y6%KO^B96,;N#V45MK(LG4&!B47S7_Z
MN8W#ED/\E(/7.G@U[V:BFN4I-?3X4,DE4M8:T.Q#+;7V!G)<V$69& 6_<O S
MQ^.SR^'MV2FZ&8YO/Z*3X>7P>G0V0</K4W0['EY/AJ/;\_?7D\.^@<FL2S]M
M@4\:8.\)8.*A*RE,KM&9R%CV)4 ?6&ZH>FNJ)]Y.Q%.6.L@G&'FNY^_ \S?2
M_1K/__'2&^"@&]CNHS=Z05-VU(.-HIFZ8[WC5[^0R#W803O8T YVH7\/[=W
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
M2?VW/HAFMI+DC*/U@ C8B!M!@[*;1"HD658Q2',2RPIA^M[#0@4+[P')IS*
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
M:=4W==*T3M*M0NPT*_O?36YJT!Q">'8,S2R>I9QL<-TYP[A#60_$D&UPEB,
MS=+98DF^-^<:)?2[#$=596"7GL2]16"3M$\5@4.":5L0_QJF;@D]]L>TO?ZY
M2Z3Q(]GAQXOF5C-<RJ;3QH$K?"_?=5C_?Q,[)[A\KT8B?_]&HO4&6']2&Y'=
M;_C>;42[]]\D;I9UVM>4Z>[#\;W_$WTX)1K-O7^V+P?N29-BOL!,!=L^<]V!
MQ\N,X=\"5L7OKS)%32]:<9F>>O-9][? CU&D\,!V4J"F<27GS.X\EU+WPJPD
M^AO<F-;FT*U"M_8(U<\IIQUV<[HT-GY<O3NY_NV=V4;*%H9CN.&,59ZDM=W$
M[MKSX>1B.4W /?8!F4BL,_SK;H'221,.<-]O2N8Q'0XRZP8YI]VS*N#]LM9.
MR8WM@D4B9FH>4V<KCH>H+"U6C"QNVI?[YN767A6/K>![QXK4&PD^76\9-3,W
M85PSZ'L?\G#0J^%?:B@95NX2K??9EFK*6DKU\',C4$RU>K^IB&.P"@$O=O6.
M!^. N<WKFG/KL8\DI8I::0G&/&-MSYGW[9.K/:\U6M@B6IF$:J'MZ[JA_<$R
M$#@D MLZ8%Q2OV+]R>SAVU9 KZ@&&5@&\]M"; <Q@)?32>/<6N4/1\YK!SZS
M]=<O%CCOZ_>NX.K4U[721^$8J%DT;HM8W>N^-/=%&WQVU>\).2>0"Z>M3>MZ
M9F[*2YL<@TSG!7=G9Q:R:L\(H:7]GE56EG_=ZAZ@P9/AQI']3M<7&^,_<"A:
M9P-$+]PC)F>1"Z:_?:U%A@6#(M,&E\['YQT.>);>ZDIF?6.(PV2)$ >E,>9G
M<SG^*[T]A4^7I8W;)=/T7E9;8)P*GV^84A*K7C6IHHAF>RKQ>0W]0Y6W11AB
ME'1[-%E:T:]V](S=P^._@%!2OYL]F:(*G;:TKCPL <P"\,/>B*:W,FR\(8!"
M91%%&.IXLP+_0(5;3B-#%G[9D=,,@3TX6?F*"9JY9Z\"CSH>]0 @?(');/:<
MZOY_%$DN^+S'I$BIT31KA>]1,.D#XXX%EOW@@N?\2,VK-3[!'TR\.:C)@\AS
MW9YZ/"TA;=HFQ#Y%O9(#'ZPUQDWL,M(!XUD0L-,U-].N\)4B<2[F:*V4/H'
MGSPS.QUZ/Q0)@=RVW_-F&7_-TP+V)[TY@K^]9.!]!!Z/UM$(;-+7[5;]"^'5
MC:L;(FHL(J9M2ZDC)GJ[D]/+?&[4@5@C&]HIJ\$$]M=0@(N=P7T(S@*P$Y47
MYX20#$7)RC;BPD.69$AL_9 M,<=2G].YB-6_]9$RG[4W';&6\BN@2E> \?)T
MBGZ,4BK*#0)Z:1>J,)=56;$_TPNLK%9C:,K/^\5YDP^0XIC>N7+W2\^>O8IG
MN&(G;F:]#'%H0_\INN'&6TBQHHPL::K(C<+WZ/2G"J(/M%AN?(-/K/W "_ 9
M/<XIBY=] JV6:*$BAJEXX(TQ"RK>?"]CF<[7@".$CZADF??APS4]T?[80\8N
M5VSZZ1@Z&=)C;*9I'K#Y&@Y='-=-=/3B+#*.X"?P#2@\1 .)-6N!'C.="W2L
MC(ERWH_#NZLW&R>!F4=4QY=DK+UY*Z@%F905OKXH+%("'D1 <>UJP,_/\<CA
M#!,&?KT?Q@J6[]Y]$A7X8JBUIX\ER2OGK6,<TTJ;61M7"44['#34+"U3;$Q_
M@%N22C<@LL_AP<^M1",V&49N<Q ]$Z YXMGVU [!98AL_<) 1'QJW S9Y7%E
M<F(H%-/+2$,3.^I<U#E8@2Q>.\X#D)0<%T.WC[?VG;F[H942\-U*%U<@U7->
MJ;;AS+70F'.4,9"#\#Z)[OE:-Q#'>"(.RHY3FGLKEF;J-3*O;#5[4Y;$VE/
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
MEG>=Q5&<>'YFQ<P32,0M\3SWPBQRUX=>&/A/-OJ?"?G@R=3^AOQ]R"=>GL;
MH-4F@J,7![&#K"##C0W(1TF&/?Y]R,=>%D1>%MOM2>)[/'&P1+",H\#%?.#'
M7I1&]S ?^UX:6XR#C!<FD24590!XO('Y)/1XF/P(YL,H]-+<>A1<<8,X1.0^
M=]:3CSB"_"\P__33_\;\?<Q'7IAR+_%#PAC@ZD:^7019+^8.VF,$TA00SN^C
M'9$ZRT$B83GRAI_G#IF8L)HY(1.7*3PCW41YD@6 ?LIXCOB=6?B% =9:<^<(
M_R&<] =PG4;P .O.2& \M8SQW/-3W[D$ZC-N-'LZMH8T7WHU%*K2(JBKY5P#
MHEA%08F?^$7--I5XP[!*=N4R:<PV G1PU[Q^$47;X=*H]&Y=ZLRG-D9().H#
M6JCDG.;1];;CAGE./RB3=:-6Q#:U1D1KZ --7U O1?7P^.R!H<33RM7W9L9@
MZ'?MH-SN\'VJ(YZIS//8"\K4$?V'Y4+?/'D1>WF8D1ZI.WY%G>30@E'MKRJC
M4/0)U8*J773IZVX65=RBN86E<(O:#DFM2F$,:P9-I-L&2]#!EEU=+']O5=?5
MHE>Q7CI6[*=0[ZQKH^X.D/H#2E6 ^1!^0/1P16S3W*1N.KJ68=6-@^X=T\'P
M!0>RXP#$X,M('MT])),P)Y)#)V[44&\A>Z\U'*G3K//IAG&UNO><=J1T8]2=
M3F.FYG-IF%U(C=9^O417.""Z'QR[750_)"00TZLAF@]LC-A&9X"FNA<ALJI[
M3MBBT!,S708["RS"[Z44L]];T<^V:/I#8\)UI<#BG]_Y/)@";?6+5&CTO[7W
MV9X#2$='D%--1?T\GGEP\ EM/;BZ:B!X[10>,0)IG(;.G1RE2!XGSITH@Y_R
M?"#UKA+? /\H"DPN&LLA@"D,;>C/(C0%63KL.D9LFPF;)U BY3;:1TA'D:UI
MX!Y#*8>M9_*KFFK&PQS%FST BLV=^@]%5]8G(NRY:!$"-+NDC:,D2&V1355!
MX(5.BQ2F:'&"D=VE O+'G1E*1^XN#9UD%("O)!QVGM. PZH86@BX79O$7IQQ
MAR7DR\A6G8'I?N+<X1)Z0KYV<BK4CG#!L>NH5N+9B+BX/*;"TT\]W]^P/SJT
M+'%Z/T0KK(M& ?\IX/Z.VM'@A8X:@WA#RS$E\BP;-I^6,R48!W9"WTWGJ9>F
M3O+GGM^W:<2I^*SJ!F>B;LY"BY(T]&('<&D&:48N+V! M5[3T,PJ'W9RS)8
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
M?+I@H-O6;@VK&M].&V6I6C\MZ35$[1QHOU#*'@V7H']?TR=02P,$%     @
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
M$?@JA4DUW(F8Q:\!^LBK(T=VY&[)2<1/+.J![[E !L0_@>=WQOHUGO]O&-M
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
MK3W^IFGAZV"KOW_[YDWVOD432NPB4 !AH^ /G=;/%=B=J)73-LL5%Q?TZ%5
M+@OLE6,S,(D=O!L?  ID=P^RP4"$\4:('[D;TOOX^Y2GDG4%_ M=W[HYCO"4
MBHB"T:-3DAG'1V@^I=1KPBV5VX1!+M-DC.0D/LC\=='< ^MD@_PX>^570[$7
ME$"D%=R Y4+J*TP :)A>P[/GF>#/:3#6JOI4 6,SI8,%RH(*)$2UH4M$?,G+
M+GXM:@5N=6KN=J41%RK_L&,6"K& ($T$5(L[_8XU:=T\BV_88EG'Q"O<HD\>
MI1QMSU)$!-"*12+PA\M-5<.1M63?FE>.:41%'/GN)J=?28I+Y1Q[@T-4V_,!
M^<97L_SJ\I2C#//\Y?SE<X,,4P+.97W-I@5<2H8D1=OT. >W(-I28T5W#1V[
M'6_4(W,WO)ERR\,CN& F2+&:6-$7 @Y*6.]-HFM%;DD]04J,PP!B\DFC-W0P
M@(JSA4OT3_$1X:@/Y?K>C#\^IK* ^46CLZ,XFFK1]8]>G4%T;84OI-Y<K+;(
MSN(7MW35-":B^2OQ"YZP"5.$,P^$,Y\\\+?!FY@DE^FG#ZK#S(T0_3OV(Y"!
M27%W\MESDA)J*&U9P%;1A51O0L/)."X%1VR\!\K)+)='!;)(8+VLZLLC/=^H
MN!Y86>! O\9DZ?QR$?SHM@(V3^);?@?LF3RD';DW)4V'_I2#1V\],K3;LEC*
M%V)]J7U2U72@1.;7*&#4PO!39%98M:JT9>8#)V>*:O:DXU :D7.-2=9.@SS_
MYJ:T*1#5@.K(GK@0M/#OW5#2 &HP8A>1Q&&G]>^@;P2-Q:X NEO06LF6F'/%
MI,E[WEP#A9;;4J(A"Y1(PT4Z#W'JU(..Z.2N.#9+4-.VXAHZSMXFMJ S2<[N
M.^'JFF^ *\EQ+]!N0T8.I\JS[A:EYFLLBPU0%'FG05(6)!34/T4AB(XETFI'
MGD'Q5.GT)B]C2%J=3>:6?O\^\JPG[^/T  >_'V;Q(/T_U2''&135^I%=<W?5
MMF".Q=1,OE!QU<)&%:TDS; W*6GE!\:%891FU^'MOU%E'41=<T>GQ@%CH0K4
M_#&%..N*M6E23WRAQ"%8QG>ES%QC52J.O#-:;O2:;Y=>9_X7N[5IFFI[!),4
M/WCFM(Y! PB+YG=@@H?.;PWZ&UCL^([=FLT@S*>LMOSOH'1TH$KCBVD(9'7.
M3AX.6WXN%SNUK4&^K)>199V330)*EL5>>%5HU=-,<_E@TRQW:Z3Y-<K.G?IV
M*#R"M[O=TC6RM1?BP.?MN5L7M>4-KE474 >[O0QNLZ9)VN$QUX2Y4;*'"ZI&
M#H([C*Y07"[$(L3N"JQZ@\(9:7K?*&QH,>\/\<-.>"#(BR:Z(J).Q'&PX^SC
ML^[)4 N(Q\MV-2GW_=PCNC$T>^3?E"&TIM1,2:G0E-L*E=^WM686=:S0=^':
M#/-K^3(2QZ:L4Z)!BI.1Z<7J-J7ODDO6HEU\=UM;(:I5:# !UT3W\G"E3[Q)
MW6.W+3>=FLN3"N$/X8@C9G.K*P\IHW:2G1SR\]B.GE^7W>PT<>G5QS?9R\N3
M8\D*[U@CEHE(Q)[)[KEOB3PZJ+):W-)G+;9T)[O^YRDETL+Z%I-9@5Z&MYIV
MX5&]\85HLSVJQ&-^UNGU4ZK^?ENMRS^RWVVIZTD?\&//\;A/Q<[UAE6D;6(B
M*F55X[+U9A!E4_2Q6<#3>O,Q5?&Q+%JP0S D!A(-'JO%%!=+VF47_3$"PSF1
M#XVHO0MNHT75+G8;S =?</K!B WS7(XTQ0^(R?16OY>%Z8;'CAK,JRH?!NR.
M(E]!M\/  !PS2*9[KI-H,XYZ<RY2M 5Q GM" 3:'7:SN#E/)485$)\=JQS4
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
M.X<G;0$)SP(C)58L1T$/S!\PD](JM=%F"X4LV&/R#@L)JNZ3!DO8K8H)NP]
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
M2XH<C*<PYR(70^?-$"1N)&C6@4+"[@-!-S:XI1W!D&/$FI3,!0-*RWI%Z\Q
MV2&2+?&O'II$_VPY*+FK26MDN,\,=0(L*>;71HX5Z]0@KCB$;G;02O?4X2E6
M18!42!6R'J\(]-3M5BM\__#GPA^"U:9)G)ATMHEBBJ$KUB%GOZ%ZA)[$A!,'
M+ASL,:B #(0OWA>RMVN%D*;;*\'#",(D@GD3Y<0[M@+(WP:N^*X-BJ5F+LJ-
M9GY&F\H"I6XBE,<PLU#_U>>TSD23SJAV&UWZ*=/:6F#RA1\S*Q>422NB6\#=
M0-<W9Q>L5EBP1V8O\=86@V2Z*VP_2;>EIS0,[/<(1B(>:W%D!0BA7-HU-TPN
M$D/8'<S_&@4WEJ:JK\@A(Q=1N)9?GI(B#O(V\:Z^XDN7KUP.%F$7UC+?'DJX
M%M86<[3U9Q7K73I?7VD0VJ2'BE@=R3^N!1P6J^[I9D_JYHS+]1N7%'Y*%]Q*
M_.HL/[L4_?-JGE^>GC^WG7@OM "\; FF^P-YNPF'W:""S?\Z=+Y35N'+_.SL
M990P-EYM1.H.(430CS&M*D#V%M;?B,IZV:W3 YKL>6E%PU<X(PU 957=^YEJ
MNK[A+=K:G!;UR!# '=M]4_$&=*RGMB+OKR7L84[;=':>GYQCO=7%57XVFTGJ
M)69>G@WR /LX]__N;+S3$*4^G8PR_P3R&7BH$/E"^IZP8R09M)X>[J!8'F93
M8Q*1_E:35^?CEIQX2[CUN F*QO7;\<=C_9 ^FGWKT.B^DH\.<W'ERCL,:[+P
MW1YZBG&?W3KL/.;/(/(;[N^\)/B9G30/W-X&08^CDH @DP2],CH'>,N;CV^/
MLU_ Y-L6*C.&]5WN+40<_#RY$K:W'HK;;T6H35C+@T#8\0\D$J(1+&M7T>XX
MZW<[PC^!=?B->/J4^KW:J 5SPXU?EN'JI6;IL&*'$P9+&7VOKA^"1SD<3%E2
M-AG#JE,PHV%W]R<BU/RE/QKYIF$&1XQ<BY<W0>"Z?9:^1PS00+6.'-*.M-<\
M$/LG]_W"M,4G'!*UTFJ]2JDKP1ET9<G Q=26X] @B:)5*BAHU.XY[ KVZX)=
M[M@ZC[C6T'\AK@KXJ"UOL>'T?0K)B-M@LX<'*S+%$35R R7[L&C-:)"8.,^/
M\]J>1HT!W.Q#6</UNJZ,I7SXY75@&S_N0"W+LS=%7<"+ZP'_>?/JA_#C_RI@
MNAA3?RSK/'O=%O^L,!^4]*WPR.L//^LC1#>O,(Y1K-WHD92B9%/'3L+Z#*<K
M51+J+K^6MMD-IRLT>L%SQ34MM AS.)X+\/2'=:@&N7FO\O2M<X,&9'Z5_!1!
M\Z)/KK$ZXIV:$FG+5 P[(53"@Q:IZ&XI;M'Y0.,3J5DO6<PADG0_)8//@@P^
MV],W>3AR4O9.#I-]WJR_Z>Z*1?G=BSN)_;T @5P>9JD7I#^TFCOTNS$1< R%
MR0<]3G=(9 TA-V'4SWHO!_;6H0N"L;,&E2:D?_)W?3@7P\_)K6?%^ R7Y/IA
M #/.^21_SA.I)(IL#LCX_P-VGXN7AVTS,P[[I0T'K-ZRP[QE9X#8O\ORJ-?*
MT.'#5!0L$WL"%R7='B5A8>E\PQQQ4WO2^J=GM^7RIM32P_O#J5DB[EP$T6V!
M66P^?(3)'O"::\2QA2.2;.*IFWD>;N;Y\[1CA(E+7LWI<0Z*54(MQL%(<&Z*
MWZFI[*B0I'26JAZ'*NMIE+%8-'&(SXCT,\N=K6&*!M11,(+$K4I4$X/_G1"#
M>5+>?6QV"-VT0I%28R]PSDUZC0?484]7+ Q)XR/8A"7%J?8Q$W+Z:>5++P'
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
MQ&\CUPOQ;BT8T6)@'Z>T@B^>J[6("KYR_%:WAE\L12ICYR6KZ4>\Z0WR NO
M21JG.X,>:,+8R?@FJ;JIHWB,LF.],8=C;<JM.M+Q<7:U:9&@DWGA2:X%V)26
M&Q-8$<W&N[ F2*2OG%.K':7JB1T6Z)TX7SO?#YUK4)-L4BQQAF0O$?OQ)9][
M06$I VG;JP89TP!SZ9WJ/$>_-]>67NA*TS1<T#%,-V@_#W+SI(HP??<5&NHD
M701I&9R@C1A*<2X(A3)P0"\.MTG;?U'J$[J_^%2-=;OK.CC@\3FH>7"WNUYC
M?Z6*:=Q\I@3H67Z60)$9M[_OEC>\MTN&-<+M5_0!Y\Q&,\V47X,7@FWZ!W9N
M5FC(T$Q2AY#I>!P)"L%;I;G:#%HE'T-H)Q8Z"'O*9ME6!_N8]$<"B>)-I #:
MKL4H51>CD(S=C5"CY5?@FJCV@F(8MJ,,%,DFO-[997:@,9S)YLQ"/#GX"WTR
M""E+'K4VX(2L89<K<KU(&'92/@= XK-I".$/=EK] KV(T[YY][>W/QS-7F:P
MPF4)5DI2?N]#*UX?9G_T?=D[DU0%97Z@*U*@U-(/W%'K,U\C!_)IC8T 2G5
MHPW*1=<C5TN)VF=,4M&U8T 6Y<Y[B0T*!'*<O:NS7XK'[-R#A_Z]:4$?_D\P
M04%<O6MOX"K\4POPZ@8W1[!P;672PP^3+"EX(]?JEH< [MC>H+M/XZID*RHJ
M$BC3BHVQ5<C5P%U374%Z4'C24^-!<SWA,_/*HYB@"),O;?21*0V)[^Z6E%,M
M+"8@CN%V!2Y$,!N*,2,LR79!H=@4PL!8(]5U295:.PBW=0ZIB[S\K*R(#?G
M:^C$/F$99AA*_MI7P8;.'3#,9+%%LND*Y=EQ)>*VCS@S>;4#!N?9-(;FAW+!
MI<!D2BVC@OVV81H;C;?N&?N@V""L_!-?@#+T%Q+Z09+^].KC:WWPU<??LE^;
M8_KVZ.0,D]<HQ !4] $I^ .*M4UV\-?F#LCMZNSJ,/=**.O?O@^/IDV*AU&@
MR[0735!$$0CO;MN?.K5%7JLN9-WC4Z[CSF/>Q3XTLJM8.K2V',K$;WDY5:@/
ML3B#1 ZDB!+HTJ+$E?.6Y5D,4A*D'54CH\@*#<)XXV=S8CXGF>(]#-(N2--1
MJD>&9TW#"-IWXLQF1R>2X8 V4O+H-'+Z<0&L,]?"-M'<05Y7*^VJU.$O\#Y3
M".KL*NH,87TZ, JQJJQ]9'_FMK@ ZCDR]_G1R<6>N3NR^P9&1C]M80EI'S']
M99O]((S6?MI;H[EW:8G\#!?OUN$9=LH-\V%@X?T/SYA"<"&R"*UR#RY52NE2
MSO]$*.L@7VZ+)7'YG]^^?O>!,LRU"'O9N%!!Q>S3H/R6U=(W3 V=BF!\]+X\
MH?([+8T*+LL8$=18,T?@;6&Z'N^(&B2![LO.>.']*DH^2OH2:A@UM>N1[$J@
M.:*#@X_O?OIPJ [SWF6F72:%C;#J5,K2/(@PWX&V)J0XFR1%N$97>?9:]6A8
MXK58!)W1X,DYT."KN,-8O_<<,J1DRS<BKS=QMZ0W07MA2E59S4IYG4D9R 'A
MQK=E>QBD'<?=V9F1;.N7;DBX$#<"IIP$LV$1EILENB!_\ B78VO0;;HXN3@\
MQ@Y_9 \[P'OVL5#(EU>CJ2<^A,V'K  (_-K@FDS,S5Y*\8@5MW]::A<JM2]#
MRC%?(Z#,I;CN:[Y(K!Y%"+VNE\&@V9Q(-5F)H-?IX:BU'L)WMN]//BG)QDWM
M0/+<@M1RR)X^R*.[&W!@54@-VFC^CW$:NK,?42MXL@ !A<5=LR-+TOM)VFJ_
M;['E,6*3?-Q=;XE8SD[.C\Y/#K,C[!R-_<\D2C3V;/8NP#SU;JK:SW DCUS(
M4H1\2^WL?2?#6+<U@U'91NIM<=WLQ+TE3V!^!Z9'PJB[CH,'27T6?D=A(3H?
M/X)M/<?"\I!;Y$(-[ 7,+2:KK<S0)XF:GGS-=2P:8-@4F&<#-G;O1O4O5 \P
M! @$G3-1Q:Y6LY.RAMN*?R"Y+>UXNN'F=-)9XII=; P&-=P<VC@!.T:@2?,=
MT%@A+N%'EH X<U_;0H0/)*\E]]+(@U<@[R5O).YBU;^**U@;S),+$,-=+%8X
M1U,49N?:M%8*( .@E^XWMAUIUFNKL_ 49>[??^'=ISUW)O*%<ADP;SKC$'@Q
M1[F**_P*N3KJ->TO)K$6O7C(U'0.3DTVS>Q5Q+?*_T=L2S. O:UU.LFZ3H']
MH.;^,V*,!!WC; XZAL2>2-(VZ^R5*\@:\)\U/G]+K1?X:JF%VS4P2T6TT>#<
M0H9<\UO9X>V:ZJB?!R[-:K=F)!]K9A.-0/"57YS0>\16=0Z36XL&A&OIF:U$
M5-''(J?,<#-V:'Q+0VZ51D6)%K[(R?^*NR]RZPF'?YEK/W-0L)0'"AW,KTZ
M#M[Z$\563/0SBH3HDT&"&6D('73"6;F;C?P\<%2E(*&J4.FA-JHTFELFN+#W
MZ^G(H:W<ER8)#KBA*[G:A+:97$?QK)'.OC!QB>VA>_,48*V]-.2-YR?0T,L<
M^VNB[^JOQ>? 1B[/4N03?IDB&^,HRT@I"@5%F'_7M%58J61&;&$\<:U@<1N6
M,0;/_8@G;T5N1ODY^75+!?<D@+,"$Y50_&K2&4R,F!Q,KKBY000[<>](D@\[
M,4,3M2].AE^:>/[MG"GEQOR:@#E^*+;%]W\FE_6;<KWN.-/GNQ<8M[!/T=3^
M[L6KV3>OYB^^AB?#S[__\UUQ4X*8N\&([[I<P:,GQY?G+[C?KOX!NC8.B2%A
M,!#IGUBG7+;X _A^U<#*Y0]\ :I7-+WO_R]02P,$%     @ U4":6)3YJ_E#
M!@  CQ4  !D   !X;"]W;W)K<VAE971S+W-H965T,SDN>&ULU5C_3]LX%/]7
MK.YN!U)8\[5)&%0J'=LA\4UTNVD_FL1-?21V9CLMO;_^GM,V"20$T)!.)T03
M.W[?/^\]VT<K+N[D@A"%[K.4R>/!0JG\<#B4T8)D6'[@.6'P9<Y%AA4,13*4
MN2 X+HFR=&B;YFB88<H&XZ-R[EJ,CWBA4LK(M4"RR#(LUB<DY:OC@3783=S0
M9*'TQ'!\E..$S(CZEE\+& TK+C'-").4,R3(_'@PL0Y/+%,3E"O^HF0E&^](
MFW++^9T>G,7' U-K1%(2*<T"PV-)IB1--2?0X^>6Z:"2J0F;[SONGTOCP9A;
M+,F4I]]IK!;'@V" 8C+'1:IN^.I/LC7(T_PBGLKR%ZVV:\T!B@JI>+8E!@TR
MRC9/?+]UQ$L(["V!7>J]$51J^0DK/#X2?(6$7@W<]$MI:DD-RE&FHS)3 KY2
MH%/CV;>+B\G-#W3U&5W?G%U.SZXGYV@RG5Y]N_QZ=OD%75^=GTW/3F=H[RN^
M38G</QHJ$*N)A]%6Q,E&A/V$",M&%YRIA42G+";Q0P9#T+=2VMXI?6+W<OQ$
MH@_(L0QDF[;3P\^IG."4_)Q?=$*7[1O.;C=GG5.',L<1.1Y TD@BEF0P?O_.
M&ID?>_1V*[W=/N[C&>1H7*0$\3DB]SD G<2HD&1>I"@%L$O](1>0PD*M$68Q
M(C\+FD-2J2Y3^H6]?Q?8IO,1/?4\*6@:4Y9(9)D'MHG6! N)S@FDS(*G,:(9
M:+(D6KA$5TLBD%H0)!=<*'@'1?4PU<L13&2(EPNH0$0J"NGWV+0+'"U 1;&N
M-/ .K)W8SX5@5!6"&&A.[_6+?&A_3;2EN. *)"[)@D8 \]UT3Y"\*DC>BX-4
M&3 GB#*%64(AJ1"6DBC9%9)^UL^%9%K6#R(.!$E+![9D(K\.U5>!8RCYXJZB
MKS^1:,%HA%-TQ_CJ8 $>V*VI7#[E65[H4$H^5RLL2+VDBDN/.T>5.T<O=F<$
M(C%;_R%16>4%C2C@7) E807I<F<_Z^?<^=KGC](O9=%#4+)(=@O>T66K]J]M
MZ1^[+&35]&_EWVG#I)N-28=/1WIVAF8\Q0+-2/( WY9G.*9=BS1L;U2-',/V
M'> >%4)HHE/(IV3=YN$:EA74/"S#\\-JZ+I&X-HME>S0< % U= Q L>KB0)@
MZ?7@P:_PX+\8#S&5.$D$27#9\6&F!PO];-\:"V^-D1HK76\M.#R-G-<^MU $
MST8\8?0?T!LKA%'.H;A @4%0K.O4AZ '&BUMQ4>&Y3N&XP0=7_R1;U@ TPY9
MO&P<31&V#P*LM@ 7V/NNWYIW 'J!U9[_=<=T9]%_Y?HJ>0US!,G62-C=TQ\Y
MQBAL!\ )0R.P7^C^JH]Z1FBZ[6D?6+6='79/>U"/(/2C#ET-%ZP866;'EY$%
M=MBCGF(25,4D>$5S84K H6'7*?7VH9I+*;ZE*564=+;M?BEOA8>)>E@R'H];
M%5E7D<:@OYI,=[9.-O:WI$<1+_1>#N!!Z%*?#@Q4,'!+"D!IQ-_WVT&S3,MP
M&^W@M<]*N?,Z$"_W6[S$+ *"N>#9]I!%1$WO.*X1NFWO.*$-O31 5[ O%6B7
M[6F/!E": K,CP1S'\$QSRXAQ=O <,\MNF^'9D+T==<^$ NI9;5W\ (1:/5D2
M5ED2]F?)Y@2_V[-/JUT8+^W1QPUHP"R!D@0[-$ %(YWGC7XI_X].^T571%;N
MEA*!62-/]IQ UZS]>L(+#<]U&A-^:-BNM8\NB4)[":9L'Z5<@A^9WLKD7,*&
MNW&",U">@H@G#C)!K?*>"[N\L"G9<%S[63FRW#'D?*4W\6NI2%9SL$S##*W]
M)T%INR[Z3K &0'7: +W_ACTLBG&&DP:@(?4?)<5C>'?!?<_U=2=K6 7M*S#M
MQD3@PH8BW.^!N&76]R+FBUM!(K2WX "?X_7F_)K!40DI#@B/Z9+&!3A0%GF>
M4EU'H!.3>Z@OY?';,G\O$X4K6(-WE0=(J_6=-RK]RKU9!RE5?+YI="9$7V+,
MML:A25WT (1>V KS'H!*_U]R]5K'06=NJ:\U_= %@&'CC@RJ?5+>!$I4]K#-
M=5DU6]TV3C9W;/7RS57E!18)91*E9 ZDY@<?3NEB<_NW&2B>ES=NMUQ!:RE?
M%P00(_0"^#[G7.T&6D!U!SO^%U!+ P04    " #50)I85YY"S.\$  "D%0
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
M,F]+#G(#C<+B5.:50%.RV@"K<^ _6M%@U1@"-3=OJ3_/_^%=2KW@(_SI.#.
ME\2K-5?=1?UN'R^2=K?Y/Z;W)[-Y*\I<U%L-21R2*$F&LU&2DA$-X0O'VBQD
MF8.H,"_/W.9 0^"1=!0/UF%(:!+!/<L*C%N]@D_"Q".CZ$A("?4#0E,?[EI5
M"],J3F C7NQ$_YQBB*SO=(#ZJ"6,D%X:J>"9%R+#P@'?)Q$].O!#DL0IW"G>
MZRTMY^$P&*'KZ*@W(L'H5%N0Q,1/O*,]ZH^([WDPR[*V:DMF>(YM"?^\3+"N
M\5V,O)2D:7HY@"Y\XL6^C?$2GMJUD8:5-A-Q@GOTQ%N(F4C]$=S(6AO5]HU4
MU/;'VV(V,+W1B 2Q/T#B)"0QWN7RMW\F^DMI3.(P.(G%2S&!(7VK3-R3'E=Q
MM>TZN89,MK7IV]VP.SP6L[Y''LW[E^:>J:VH-91\@U#O*HD<4'WW[A=&-EW'
M7$N#_;>;%OC@<64-\'PCI3DLK(/A"9W^!U!+ P04    " #50)I8"LALK*P"
M  !E!@  &0   'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6R=5=MNVS ,_17!
M'8H6,.I;KFUB(&DS;,"R!G&W8H^*S21&9<F3Y*;]^U%RXJ1HFF%[L4B*/#PT
M37JP$?))K0$T>2D85T-GK75Y[7DJ74-!U94H@>/-4LB":E3ERE.E!)K9H()Y
MH>]WO(+FW(D'UC:3\4!4FN4<9I*HJBBH?!T#$YNA$S@[PSQ?K;4Q>/&@I"M(
M0/\H9Q(UKT')\@*XR@4G$I9#9Q1<CUO&WSK\S&&C#F1B*ED(\624K]G0\0TA
M8)!J@T#Q>(9;8,P (8W?6TRG26D"#^4=^F=;.]:RH IN!7O,,[T>.CV'9+"D
M%=-SL?D"VWK:!B\53-DGV=2^4=<A::6T*+;!R*#(>7W2E^U[. CH^1\$A-N
MT/*N$UF6=U33>"#%ADCCC6A&L*7::"27<].41$N\S3%.Q\G]M]&<S.X?)W.2
M_$H>)M/$)=\G#^3B@2X8J,N!IS&-<?;2+>2XA@P_@ Q",A5<KQ69\ RRMP >
M\FM(ACN2X_ DXAVD5R0*7!+Z870"+VJ*CBQ>](]%'ZNU1FH=1S(C<ZU*FL+0
MP9E0()_!B<_/@HY_<X)GJ^'9.H4>)SB"6<6 B"51@E%)2K$!'*E7I:%0+N&@
MCW$^C7I^U@O]Z(;\[SG2!!L"Q0*9F*;\S8Y-"VWGWB%].I"2]_61G!/</I+:
M^=VY!MW0[?K=1F]'H=N+HJ, %7Z DJ2"*RVK] U,Z/==W%R-WFK[;A3UWW&,
M>H';/TC7[T4N4B"C-*V*BE$-&6X!;'Z:O^5Y$71=OQ]<[@WX4CKM_N4QIK:5
M^YR=EML+.ON<[<!M!T>_?.]@] N0*[O@%)9<<5UO@<;:[-!1O3KV[O4"GE*Y
MRKDB#)88ZE]UVPZ1]5*K%2U*NT@60N-:LN(:_P,@C0/>+X70.\4D:/XL\1]0
M2P,$%     @ U4":6(M)45P' P  6@@  !D   !X;"]W;W)K<VAE971S+W-H
M965T-#4N>&ULO59M;]HP$/XK5CI5K90V+PX$6H@$M.LJK:@J;/MLDH-$)'9F
M.TV[7S\[@9 -RC15VQ?B>WO\W)WM8U ROA8Q@$0O64K%T(BES*\L2X0Q9$1<
MLARHLBP9SXA4(E]9(N= HBHH2RW7MKM61A)J!(-*]\B# 2MDFE!XY$@464;X
MZQA25@X-Q]@JGI)5++7""@8Y6<$,Y)?\D2O):E"B) ,J$D81A^70&#E78T_[
M5PY?$RA%:XUT)@O&UEJXCX:&K0E!"J'4"$1]GF$"::J!%(WO&TRCV5('MM=;
M](]5[BJ7!1$P8>FW))+QT.@9*((E*5+YQ,I/L,FGH_%"EHKJ%Y6U+W8-%!9"
MLFP3K!AD":V_Y&53AU9 SWXCP-T$N!7O>J.*Y0V1)!AP5B*NO16:7E2I5M&*
M7$)U4V:2*VNBXF1P/YV/IG?WX\^W:#2;W<YG)IK>SM'9G"Q2$.<#2ZI-M*L5
M;@#'-:#[!J#CH@=&92S0+8T@^A7 4NP:BNZ6XM@]BG@#X27"CHE<V\5'\'"3
M,J[P\%^E?"C3&L<[C*.ORY7(20A#0]T' ?P9C.#TQ.G:UT=8>@U+[QAZ,%/7
M+RI20&R)$BH)726J(X@( 5(<(GL<[O2DY]KX&KWW>\>9$'_TFA#.7Q.Z:A2C
M,"RR(B42HCWGD42JQ9 M@#=MWADS5E#9%KE,?I#J1F^54Y![H!\.KB8LRPNI
M]A%L*4O"H;%AW^SU>XUXYF)3K<X;A>.9MM]#D^I& K_@4">SUQJ$S:[G[X \
MO[=#P:;3[:,Y)Y%Z6OFZT;MF!^]R/NO@\Y;)Z]EHSB1)]S<S$56Y>S6W'7?/
MQ!VGQ;UO^J[_[M;_WR/@_J,C,(<PIDFHJKFFK+R(U:UT3,]K55^)N-UY?.#8
MJ./2]=HEMTT'MTONFQW'/]XVW#?MOM/"<,Q.]S<,;!]Z2JS6>Z\.XZJ::@*%
MND[UT]]HF\$YJN?%SKV>N@^$KQ(J4 I+%6I?^AT#\7J2U8)D>34]%DRJDU\M
M8S7\@6L'95\R)K>"WJ#Y.Q'\!%!+ P04    " #50)I8&]5X3"@$  #5#P
M&0   'AL+W=O<FMS:&5E=',O<VAE970T-BYX;6SE5UEOXD@0_BLMSVI$)&]\
M@TD B5RSD9*9")*L]K&Q"[#&=K/=3<CLKY]R&Q^$,T1YVA?HH^JKJNZJKUV=
M!>,_Q11 DM<D3D57FTHY.S,,$4PAH>*4S2#%G3'C"94XY1-#S#C04"DEL6&;
M9M-(:)1JO8Y:>^"]#IO+.$KA@1,Q3Q+*?UU S!9=S=**A4$TF<ILP>AU9G0"
M0Y!/LP>.,Z-$":,$4A&QE' 8=[6^=7;A9?)*X#F"A:B-21;)B+&?V>0V[&IF
MYA#$$,@,@>+?"UQ"'&= Z,:_2TRM-)DIUL<%^HV*'6,940&7+/X["N6TJ_D:
M"6%,Y[$<L,5?L(Q'.1BP6*A?LEC*FAH)YD*R9*F,'B11FO_3U^4Y'*)@+Q5L
MY7=N2'EY127M=3A;$)Y)(UHV4*$J;70N2K-+&4J.NQ'JR=Y-_W9 GOMW3]?D
M_KH_?!I<WU]_?R2-1SJ*09QT#(E&,E$C6 )>Y(#V%D#+)O<LE5-!KM,0PE4
M [TK7;0+%R_LG8A7$)P2Q]*);=K.#CRG#-E1>,Z[0MX4:8[C;L;)RN5,S&@
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
M/B(I\J$\WDAUJU< AMP7>:DG@Y4QU<EHI-,5%%P/904EKBRD*KC!H5J.=*6
M9[52D8]<QPE'!1?E8#JNYZ[4="S7)A<E7"FBUT7!U?8<<KF9#-C@,'$MEBMC
M)T;3<<67, /S6W6E<#1J4#)10*F%+(F"Q61PQD[.(RM?"_PN8*-;W\1Z,I?R
MU@XNLLG L09!#JFQ"!Q?=_ )\MP"H1G?]YB#9DNKV/X^H/]8^XZ^S+F&3S+_
M)C*SF@SB <E@P=>YN9:;GV'O3V#Q4IGK^DDV.]D0A=.U-K+8*Z,%A2AW;WZ_
MCT-+(7:>47#W"FYM]VZCVLK/W/#I6,D-458:T>Q'[6JMC<:)TA[*S"A<%:AG
MIN>7U]>7WRY^_6E&/MSP>0[ZXWAD$-@NC](]R/D.Q'T&A+GDJRS-2I,O90;9
M0X 16M28Y1[,.G=[$3]#.B0>H\1U7*\'SVO<]&H\[T4WN[S;Z?K=NK8L3G3%
M4Y@,,.\UJ#L83-^_8:%SVF.9WUCF]Z%/9UAFV3H'(A>87N4MF4N%$*)<ZBY3
M^\'>OXE=QSLE__9]9@A&'HHYJ#KZ+\WCZ;CU$3U!>MOZFJVD,C\84$7+.:SH
MG!O(B)&D4O)/K%+"M0:CR0?VD7B>1P.7'7=*&$UBEUR:%=J@.Q$/LHPRYE W
M"5HS ?.HRT(R6\^--#PGR&<OPOB^1V-4.L[$3D!9$I-?9+G\!QX= #P6HQ=1
M,_8#A_I!L/<J[P)M1!.?^BQIQC$+T"GGH4.="#&Z[CMM+]PPH$D8D)M:L0DQ
M=8.(NGBBC;G4B3"8H5<?R469YNL,=/<N9L4-V8 "DN;HM5@(C 37R&%*06E(
M+OA<Y,((!)A#RM<:4 ?+J0W"41V592KJ0&Z$69$4E,'F0K3,N2*5Q#T(+S,L
M%H,V; F4H)9;@DRIL(L<(EZ;8^'@OL*#V)W*'"S*#A<190ED"UP->\HX:,HX
M>'49+]9FC3M72I2IJ##""BJ^Q4Z&=F$C0J\[0]A5[OV;OK:LL4)]K,-C^N+$
ML3B"@-%]'1^3Q L"3)/$3D9/\&*?AG&]%K?R$]/')3>8R, 7Z-I3*]R 1IZW
MS[JWQ^SJ"7_8A#]\=?@W=2>VV7<'=4K 8@%U\R>B1,- &Z(PO^K#Z ]__Z;_
M-]L^Q[(/V+8U\)YAUF#HD7?$&\;X["0J?\AP*1Q&Y%U/[*,F]M&K8]\$&%/?
M%G[6%=5^N/\:U<?O/[#"]Q>39YL8>V4G.WY='!Q->24PG\5?"&^7F7OZF/U9
M1+U6%W%#ZGM'(G<C&D9A/V";^_16&RCT SNM3$/O,0W#5B%CF271B_96R+);
M2JJ<(U=;>H7O:U%9SGJRP>-Q@OVA@;=T6R*I!S%EP3&8D8]LTFI!S$>KDCT5
M/$D:$@74#Y.6>$*]Z'@98+@>>PV#=>7PJ'4E+K!!U!=_[$9R79K=[;B9;?XM
MSG97ZJ/X[L?D*U=+46+;@P6J.L,(25GM+ON[@9%5?<&>2X/7]?ISA?]'H*P
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
MH<L1MOA '<YLA80"D@?D?4]F9^>);+(I\2X\FPTPX.X@/+(LS7(3B<\NY&=
M$O4@B1X-$AW_2QU@FAT24K?DE4VCVDWX1EJ9(+>TV?' ?'[+/XJ$FW8? (?C
M+QQ*8\(9G#]]>/6EJ"^^SM)TBK"6DI6L:UFT:ZBP@8I0%@6^4PTPT^[=]!%%
M)[<I]D*>TT<<R(F^3R.G94*1AC:<O"T>8 V=6U<U:KGG:;DJ=$&,MA<5!9#Q
MIFL[C5F8$&%[ C-N*TP;O]&,!TZOQ6)0UKU,A7BY+0ZT1;-E);-Z>9!=-J=/
M<(YV34F%:JGM3UXJ,U>/FA*N1*IRI5&\;EJU;$@@4&4R70=QR+%3DP,;%"BY
MU A'K0"R6=HMJVQ;94ZUMZGZ ?69?I1V4&RJJK+)H%OND2 A/Y0/JBX,"TTW
M:;(T<T0V,CH5(IIO%)4_*00XB *9072K]RD,MWX.>\""*8D2RB-.?*#)2[C)
M*3(W&457,=F\T.%B$^OU^@VSLLITE6\>V-@@(K?W]&!*2*0:&#Q;8G[K)B98
MVW,:(70///(W96:C2^I(. 6R;JV";6=QQ#TIF>O4B=J!06KG_ ,6\0-!?CF2
MX-!,4!X[_0/:/0@0C\YM4RB3+XXE3,82RI@3*07HA_&C'7W/%1W,?-T?7ZDZ
M>Y#Z5'\7K?2ID"W^1<CWH?\4K ><)JY&.9KU$(9MNMJ(K0L0H%(?F#L=D*WZ
M_;. FDN4#VC</*LWG\:^V.& <1JCE^+H> 4[9AC7N82@(O!(#.GA?AKYQR*Y
M;5Z0RYS3 S_VS/*;0N;K)@/.'Z7ZTQN< L0I0Z.A-0(XB-R(,CHIRPD9SF3(
MN,^0\:,SY!(&-EC8YL<CZ#^6#\]O\+]6,1T_D[]5\ZS0'0-*FMS@/?30K#LG
MJD!F[)SZF9A";E)D.=-0#&L%[VADWHST^92(?/?T".VS,T8$C_V$O#ETDFV=
MRIQSWZ$Y6NZ=$EX&R5TVC_/5>Z6)=&=@DO0P29X.$]/1;OG80@;M8"6+]5^;
M'O!K4P]TF%.W<MM#F&2W41N$WY[%9+L<LBG>X9W:68Y^FSO/Z_\KXA)$7.=T
MB<;"R?(HH#SR85,):<5II>ZK<E:72\3X#"_6FN/QO3F[,*:Q:;G1-516;^^'
M =*O>\XIW(.VH3X6/852.\E9P/W0A?WH$*W'A')&/#P&U;'SM7>IZKGYIMUL
MZJC-A]_^:?_9_&;SM=A.WWQS?R=K:!W@5#,L]2ZB<$#JS7?LS: M*_/M>%*V
M;;DTMPLET:;K"7@_*\MV-] ;]'\FN/X/4$L#!!0    ( -5 FEAFMD^6_@,
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
M^?"(HT@!M"0:1TN1 LV1)EI %QK35:^RP=V&-#)T%<%?ZZXZ/%D=+>U@EMG
M++/=S'(\TY,%BC>H98T$_K*N/B- E'.Z<]2?CX+[]V3;)Q#;W5,RQW8N3T_U
M;XMJ[DDN!<%O7ZX[.@S]%_CVH,3U'=O<W"'ON'OG6S9H 556U83TV%@X3:S_
M#.!6I[*H7]/*L^BE#D^Y(Q*[3%[;&.SNQ3XEU_G?HVZ3H'Y]_R WQZ=0?\A=
ME]0B\^<*>81-*DH\$0EY4&IXG@'J86B&-"FSG&QGK:!0$65*_:$-6,&*EH;@
MX1MI5/;'BHR<?HQF!9HCTH'4!CU'%ET'NK$0I%E&$Q89!]K1'X+6IKF)8GD5
M=&$<P@.AN4F7?$J*8Q$%+9-D18Y]/8[>P0<)(ZL@]FDU)DQP;[X*NP<H]ZX&
ML4RCPB,1XIEOXG=$6#Y$6/ZTWNU;?5O_M0$Q-%D@AHQ=MZ#;X+Y[YJ?"_5N_
M?T[#-ISI/)Z++(^"&N,3F#]U\2>2(@DH!O2%/]0IHR>@94CZZ4IVF8[(IPHP
M$(GG5,%LA F-BWN&,B?2A!RKKM/84+T\@G*=L6JJ?99;+,\;0GE!\Q$=>0+*
M*-6!7W*P(X9N\O3B)#"S2!PA5D9A#MM Z(-]'#T<0\4)1VG+0[&G^G&9H+TA
M-]M7V(<+<<H[&RU')F%]U%\@@K,H@0F8GY0%N5CF_?4YRO,/SU0S?W/^HI]I
MJ3*<RP1I$,>(!&/I>1X\AX[7[^JI/]8!&ZRZ^W4T;1S^^+)E;'=KZLIL];#_
M9A.UBLA<$1E#T\(PYY9B_:@BO7ZR+97L1=^?&_BZ_\KNR-@LVF[Y*7IX.GS(
M/UI^OP[#E_\%<*[LM +X:GT+T>15GHZ6)75]TYEY_S7[QG2=:?K+F583;?T
MO+\UIEO?^ F&?V\X_#=02P,$%     @ U4":6&PC_V]P P  _P@  !D   !X
M;"]W;W)K<VAE971S+W-H965T-38N>&ULI5;;;MLX$/T50BV*!%"LFR4KJ6W
M3M(V"R0-HB;%/M+6V!)*D5J2BN._WR%E*Q>[;KO[(G*HF<,SHT..ABLA?Z@"
M0).GBG$U<@JMZS//4_,"*JIZH@:.;Q9"5E2C*9>>JB70W 95S M]/_$J6G)G
M/+1KMW(\%(UF)8=;2513552NI\#$:N0$SG;AKEP6VBQXXV%-EY"!OJ]O)5I>
MAY*7%7!5"DXD+$;.)#B;QL;?.CR4L%(OYL1D,A/BAS&N\I'C&T+ 8*X- L7A
M$<Z!,0.$-/[98#K=EB;PY7R+_LGFCKG,J()SP;Z7N2Y&3NJ0'!:T8?I.K+[
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
M38]M)D96KJ]MI*$NZ88Y_9:@L@:TGTEI]A-[0/>C,_\74$L#!!0    ( -5
MFEB2ZV]T'04  &$A   9    >&PO=V]R:W-H965T<R]S:&5E=#4X+GAM;*V:
M:X_:.!2&_XJ5K5:MU)(+$& *2 RY+*N60<.TJ]UO'F(@V\3..@:*M#]^G<L$
M,H0,69WY,"3&Y_&Q_>(<'V=X8/Q'O"5$H)]A0..1LA4BNE/5>+4E(8Y;+")4
M?K-F/,1"WO*-&D><8"\U"@/5T#13#;%/E?$P+5OP\9#M1.!3LN HWH4AYL=[
M$K##2-&5EX)'?[,528$Z'D9X0Y9$?(L67-ZI!<7S0T)CGU'$R7JD3/0[5^\F
M!FF-[SXYQ&?7*.G*,V,_DIN9-U*TQ",2D)5($%A^[,F4!$%"DG[\DT.5HLW$
M\/SZA>ZDG9>=><8QF;+@#]\3VY'25Y!'UG@7B$=V^(WD'4H=7+$@3O^C0UY7
M4]!J%PL6YL;2@]"GV2?^F0_$F8%A7#$P<@/C5H-V;M"^U:"3&W1N->CF!MU;
M#<S<P'QEH'>N&/1R@UXZ6=GHIE-C88''0\X.B">U)2VY2.<WM98SXM-$BDO!
MY;>^M!/CAT=W,I_]-7F:/<S19&ZAQ>-L/ITM)E_09/HT^SY[FME+]-XB OM!
M_ &]0SY%3UNVBS'UXJ$JI \)25WE[4VS]HPK[>GH*Z-B&R.;>L2KL+??L#=J
M *KL?#$"QLL(W!NUQ-]WM(6TP4=D:$8;?5M:Z/V[#U4=>PL3M%!;3S$:FL[_
M1.]__44WNY^K6%83UG67['J,158%IOV62TX3UG67W-LQ1LWDM0OYME->YPK/
MIH1OCDC^3+A<.%'$V=]RC:O2Y7TM*%GQ[^((K\A(D4MZ3/B>*.-DM+3/55J
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
M,J4A5Z?P:J)%5AQD4Z'-L5@,$W-Q06D-S/>9$/IE8L_&ZBH4_@%02P,$%
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
M$U]D%%C^;,F$Q''&)/WX69)JU9J9X?'SGOUS'KP,Y@ES,J'Q/U$@5D/-TT!
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
MA>S+>IG(40M,.<CS.:5B8Z@/U,,[^ =02P,$%     @ U4":6,5CSZ/T P
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
M?1\HC4)IWIZ[:_IJ'301AJ+I,FY,'MML\EQSJ4:@+R27:5;ZCFO%MFH-ZN5
M:2Z41J$T#TKSH32&HNGR:[P<^T0OQX9Z.5":"Z51*,V#TGPHC:%HNN8:+\<^
M\+&>NJTCRUJ$'XCX+NM-=%:]>JLBH5X-E.9":73/=30,]3QH(CZ4QE T?=>0
MQM)QS);.?35*7 WRE )_J[ZZ_OA"Z-V$E+6%0?LS9F;LL;J#TEPHC4)I'I3F
M0VD,1=.EV/@YSHE^C@/U<Z T%TJC4)H'I?E0&D/1=,TU?H[S S_+8\[M:#U#
M71PHC>ZY"[N?6O*@>?A0&D/1=.V^VO'+;.*LOZ?[)SEFVFR&'BTZ[$Y@V*W
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
M]_3P.^J ?)4OHR77O^#0QH:Q ;*&"UIU8EE!A4G[#[]U1IP([. %@=,)G*'
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
M9$GQN*%$!;P64.]7C,FW@5Z@;IQ-?P%02P,$%     @ U4":6*<[&(JJ!0
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
MF "11"D#^3ZF5!P;*D!]V>/_#U!+ P04    " #50)I8ZT19MD$#  !)"P
M&0   'AL+W=O<FMS:&5E=',O<VAE970W.2YX;6RMEFUOVC 0Q[^*E553*ZW-
M(R%T$(D2NE4J6U5*]]HD![&:Q,PVT.W3ST[2#$(:M:AOP';N_KG?G6-??TO9
M$X\!!'I.DXP/M%B(U:6N\S"&%/,+NH),/EE0EF(AIVRI\Q4#'.5.::);AN'J
M*2:9YO?SM3OF]^E:)"2#.X;X.DTQ^W,%"=T.-%-[6;@GRUBH!=WOK_ 2IB!F
MJSLF9WJE$I$4,DYHAA@L!MK0O QZRCXW>"2PY3MCI$CFE#ZIR4TTT P5$"00
M"J6 Y=\&1I D2DB&\;O4U*I7*L?=\8OZ=<XN6>:8PX@FOT@DXH'F:2B"!5XG
MXIYNOT/)TU%Z(4UX_HNVI:VAH7#-!4U+9QE!2K+B'S^7>=AQ,-U7'*S2P:H[
M.*\XV*6#_58'IW1P\LP4*'D> BRPWV=TBYBREFIJD"<S]Y;X)%-EGPHFGQ+I
M)_SKX<T]>AS>SL9H,AY.9_?CR?C' SI'$\R>0.!Y HA#N&9$$.#H-)!K).%G
MTF(V#=#IR1DZ021##S%=<YQ%O*\+&982U\,RA*LB!.N5$$P+36@F8H[&6031
MOH N>2HHZP7JRFI5#""\0+;Y!5F&93<$-'J[N]7@'KS=W6RAL:L2V;F>_:X2
M->6YT'&:==0!<LE7.(2!)D\(#FP#FO_YD^D:7YMR])%BP0>)[>7/J?+GM*G[
M(\P8@0AA@1:8,+3!R1J:TE?(N+F,.BXWOMDQ>T9?W^SFI<'*L^WNOE70&M*1
MP)T*N-,*?%U1HM.E//G/4$(YA\9/LU#J[-!8GN76D ^-'-.K 7<.TN)T':<R
MV@-Q*Q"W%>2GB(&A6YHMSQ^ I>@FVP 7\M(1C2SN(8OEN;T:S*%5U[2=&DUK
M7$>6KUM1=UNI9YF\OQ/R5VY95;U&U.X!A-GI&/6MVF#EF36CH#68(U&]"M7[
MF$_3:]B!]:*-#HWLKETK?] :T)&XO0JWUXK[3983T86\+UOW<>_@4[(=KW;
MC Z->D9]%[=&\UY6?:?)2($M\V:-HY"N,U%<S=5JU0\.\S:HMGXE^\2BK?LO
M4S29LN=8R@V/$EA(2>.B*VO)BL:MF BZREN9.16R,<J'L>QU@2D#^7Q!J7B9
MJ!=4W;/_#U!+ P04    " #50)I8,&B#<Q0#  !H"0  &0   'AL+W=O<FMS
M:&5E=',O<VAE970X,"YX;6RM5FM/VS 4_2M6AB:0!GFGA;612E,T)#JA\MAG
M-[EM,AP[LYT6_OWLI,WZ"%69^)+X<<_Q/=?VO>XM&7\1*8!$KSFAHF^D4A97
MIBGB%'(L+E@!5,W,&,^Q5%T^-T7! 2<5*">F8UF!F>.,&F&O&KOG88^5DF04
M[CD299YC_G8-A"W[AFVL!R;9/)5ZP Q[!9[# \BGXIZKGMFP)%D.5&2,(@ZS
MOC&PKZ*.MJ\,GC-8BHTVTDJFC+WHSFW2-RSM$!"(I6; ZK> (1"BB90;?U:<
M1K.D!FZVU^PWE7:E98H%#!GYE24R[1M= R4PPR61$[;\ 2L]ON:+&1'5%RUK
MVXYOH+@4DN4KL/(@SVC]QZ^K.&P [. =@+,".+L [QV NP*XQP*\%<"K(E-+
MJ>(088G#'F=+Q+6U8M.-*I@56LG/J-[V!\G5;*9P,KP9W$[0\^#N:83&H\'#
MTV0T'OU\1.=HB#E_R^@<+3 I 9U&('%&Q)F:>GJ(T.G)&3I!&46/*2L%IHGH
MF5+YHUG->+7V=;VV\\[:MH/&C,I4H!%-(-DF,)601HVS5G/M'&2,(+Y KOT-
M.9;CMC@T/![NM,"CX^'V 35NLS=NQ>=^:&_:XESS>.T\.G-<B0+'T#=4:A#
M%V"$7[_8@?6]+4:?219]$ME6_+PF?MXA]O V+W#&58Z2*$XQGX- *D\BPNC\
MG*ALDR L!,C6DULS!Q6S3IV+T+]TNSUSL1FI?:/ <EUKVRIJL^IZC=&6-+^1
MYA\KC3 A$)NA@K/?*ID>T%13^AN.V('C7NZ(:K/J>#N:_#U-=L?VG79102,J
M."CJ3F^,!)ZC*>,*J[)/JXY@WT,G\"\#?T?)OEW7=CTKV-%RT*G_/**=1G+G
MH.0AHPO@,IL24-5J*A%E-"XY5QO;IKRS%W:W>ZF.W([P?3/'[P3V3GRB@ZY]
M5+BY48-R4)=-UW*!8E9262?P9K1Y+@RJ*KDS?JV>$775_T=3OT'&Z@YG5" "
M,T5I7>BJS>NZ7G<D*ZI*-V52U<VJF:JG$'!MH.9GC,EU1R_0/*["OU!+ P04
M    " #50)I8GOD^*:8#   6#@  &0   'AL+W=O<FMS:&5E=',O<VAE970X
M,2YX;6RM5_^/VC8<_5>LK)I::;W$<>(D-T#B.*HAL?9TT-O/!@SQFL3,-D?[
MW\_Y<B$D)J,3OT"<?-[S>X[M%P^.7'R3,:4*?$^33 ZM6*G]O6W+=4Q3(N_X
MGF;ZR9:+E"C=%#M;[@4EFP*4)K;K.-A."<NLT:"X]R1& WY0"<OHDP#RD*9$
M_'B@"3\.+6B]W7AFNUCE-^S18$]V=$'5U_V3T"V[9MFPE&:2\0P(NAU:8W@_
M@3@'%!4OC!YEXQKD5E:<?\L;L\W0<G)%-*%KE5,0_?=*)S1)<B:MXY^*U*K[
MS('-ZS?V3X5Y;69%))WPY"^V4?'0"BVPH5MR2-0S/_Y!*T-^SK?FB2Q^P;&L
MQ:X%U@>I>%J!M8*49>4_^5X-1 , O0L MP*XUP)0!4"%T5)98>N1*#(:"'X$
M(J_6;/E%,38%6KMA6?X:%TKHITSCU.AE_#P;/\RG8/9Y.7V>+I9@^GDY6\ZF
M"_#^D2K"$OD!? 1?%X_@_;L/X!U@&5C&_"!)MI$#6VD).9&]KKI[*+MS+W3W
M2-=W ,'?@.NXR "?7 ]WS^&V-EZ[=VOW;L&'?MJ]R5K)Y9FY\O5V+_=D38>6
M7E"2BE=JC7[]!6+G=Y/1&Y&=V4:U;=3'/EI^68[G8+Q83)=&HR4:%^A\'W@=
M01A&?H"=@?W:--$MC!P40#>LZ\[T>;4^KU??(N9"?514I&#%A0:S;&><;"6-
MWQ0:.CZ,PI9.0YWGH1!BLTZ_UNGWZISS;'>-3+_3/7(""#%JR>SM[7_."5Q[
MP5?,B;E>#K/YQ16 .T9"&.D!QRTCW3H<(,=#GGF\@UICT*OQA0A&5@D%LTR/
M.I4*3#/%U ^3U%ZFGUVL-R([,QW6IL,;[E'A+6W?B.S,=E3;CGK?]83(V&0P
MZBYEQPO:"]Y0Y>NMR3S]H',*2Z=7U)/@?^OO#T"DI,H<?XY!7Z1WFY9 0QUR
M':^QPYY+;.0Y[)7X1<54] F$G8X]!WGMG=U0AISFCG4N[Q2XL#?8_C-Z*GCK
MS478;>OKUB&,???"C@Y/T0C[L_'J[*EXF@H"!!%L"^V6P0@&D7M!Z"DC87](
M7AL^T!!^./+;6[:AS(MPX%^0>8I(V)^1Y7Q,]+[-$J88-6OL)J0;H*"CT5"&
M]6N_H/$4?? &V5=QG'\5!5XGQ UU+@Y"U%XZ=N.C/3\Q_4G$CF42)'2K@<Y=
MH&V*\A!2-A3?%]_Q*Z[TJ:"XC/7!C8J\0#_?<J[>&OG1H#X*COX%4$L#!!0
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
M678R(HM=46;;9G"U!=LD??I__%OS0!P-<-T7!KC- +?O *\9X/4=X#<#_-8
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
MZ[V"SJ^S:ATXWMA7-CB@T,ZLUSU@O9;BT"T34$VB-"-0H>ZX0OO%8M]^XM3
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
MHT"5F*9SAHIA%*7%6-&:O[]CBD:Q_  .S],[]/[=!_0.+-#7-=](FB[DP%0
MI4.;\Q+@8P%@'0&X8_-K9),>LK!EM[B/SG>W#MU-D*+2PZKTL/)X]I%XMU(R
M)6_:\B@<G79'/=UN9$;G;&C ?)),O# C_/,/XN&_VK*Z4+"#'.TJ1[LK>OB8
M,0$%35<H9C #$,US;DNYB./E<71#> F);?F!-S!?]I-IFMFNBW=6!Y1.1>ET
M4HYA/*$-X D]$V4/I4RU,191W'U&[%@6J3$VS;P ]YUV1K=B=#L9OW)%8\1K
M>CX]/G=HZC9 +-O'V*_Q-LT(MCV,VX&]"MCK!'Z(TGQNGRJ\URR\!S6U:Y!-
M,X?XV&UG]"M&_RS&L6;LH7QEN>++JV<@SJ=G#TT5546SXDM4V$=0B F74=ZH
M_KU_57JIF<4,W:>;)*\/3_]K2[4;9B)T==7/'II 5U1(#\K['YLHTU_OH2],
M7;=-[PL'/= QJ'0,.EO9.**S* 9!6'L_"R[9SRX4["#1?I5H_Y?Z6;Q+O =K
MJ!"@:IL _<;HA44$.[4QWK3J!^3(-"1XM^SBWV=.>=J!748^: W$"YQZ5VZQ
MLUR?'&EY9&_'0'ZCZ>TET I-FM#0]EQ<AV[:0=^QCD'OEG72N:*&CVK-!%H>
MM+]SQTD9>G\(! $)&NA-,^)X??\(^FZU)MW+=:T?ODUKZ!ZC@OG7^N$XDJJU
M$9[ *!0L93I1[M%E8AT*MMLXD.Z=P\E:GYA?3J../O'<^H:BQ8PXMF\=*?=N
M2T&Z]Q3'R_VEPKY4Q;M)"AU!K*MSJWZQ>(?:[78WI'M[4[2FAV.5;]6@9:OC
M]@.[4>ZFG=7'7K]6;G/O**;/P9^I6$6I!)8E^.%K'R02Q=&RN%$\RT]G,Z[@
MK)=?KN$XSH0V@/=+SM7;C3[P50?\\']02P,$%     @ U4":6):90!DL P
M^0D  !D   !X;"]W;W)K<VAE971S+W-H965T.#8N>&ULK59M;]HP$/XK5E9-
MK;0V;Q!(!Y$*M-JD5:W*NGTVR8583>S,-M#^^]D.9! "ZE"_@%_N'C_/.;Z[
MP8KQ%Y$!2/1:Y%0,K4S*\MJV19Q!@<45*X&JG93Q DLUY7-;E!QP8IR*W/8<
M)[ +3*@5#<S:(X\&;"%S0N&1([$H"LS?1I"SU=!RK<W"$YEG4B_8T:#$<YB"
M?"X?N9K9-4I""J"",(HXI$/KQKT>A]K>&/PBL!);8Z25S!A[T9/OR=!R-"'(
M(98: :N_)8PASS60HO%GC6G51VK'[?$&_<YH5UIF6,"8Y;])(K.AU;=0 BE>
MY/*)K;[!6D]7X\4L%^87K=:VCH7BA9"L6#LK!@6AU3]^7<=AR\$-#CAX:P>O
MZ= YX."O'7PCM&)F9$VPQ-& LQ7BVEJAZ8&)C?%6:@C5MSB57.T2Y2>C'[<W
MTUMTB<989"A5=XK.)R QR<6%6GV>3M#YV04Z0X2BGQE;"$P3,;"E.EG[V_'Z
ME%%UBG?@%-=#]XS*3*!;FD"R"V KRC5O;\-[Y!U%G$!\A7SW"_(<SV\A-'Z_
MNW>$CE^'T3=X_K$PML6E<NNTN^DG>BU*',/04F]0 %^"%7W^Y ;.US9-'P2V
MH[!3*^P<0X\>2N!8$CI'L?Y45$+07XM *6<%2@G%- :4@WI1;6&HL .#K1/+
M,KKL^D%_8"^W];58N6'8J:UVB'=KXMW3B;-Z\R#U"KV[2RKH!PWN;69=Q_?:
MR0<U^> H^3L3V%.C'NQSZGB^&S:HMYAYCGLH[KV:>N\H]:>'9X2% "D0FZF,
M0B'1601>XPS3.2"6(JJR_(X(E!,\(SF1!(0VIHQ>&N&28RJPR?QM0GM["MR@
MU_.:=W24\(GOIU^'H_\1X6A\D*<&I+\?$'6AKM<(2(M9QP_]]HL/:Z7A>Y4F
M1)1,**4RXVPQSQ!@GK\A"5R5,FSJN-+=T/Q?0L/]E.%[_69B:;$*@VY#IKU5
M10O@<]-<"!2S!9558:I7Z_[EQI3MQOI(]355&_(/IFJ*[C&?$RJ4SE1!.E<]
M%7I>-1K51++2U.H9DZKRFV&F>C/@VD#MIXS)S40?4'=[T5]02P,$%     @
MU4":6-O)T2:4 @  ZP<  !D   !X;"]W;W)K<VAE971S+W-H965T.#<N>&UL
MK55K:]LP%/TKPH/1P18_X[2=8VC3C0TV*"U;/ZOV=2PJ2YZD).V_WY7LF#2X
M[@;]8NM*]YRK<_3*=E(]Z!K D,>&"[WT:F/:<]_710T-U3/9@L"12JJ&&@S5
MVM>M EHZ4,/]* A2OZ%,>'GF^JY5GLF-X4S M2)ZTS14/5T"E[NE%WK[CANV
MKHWM\/.LI6NX!?.KO588^0-+R1H0FDE!%%1+[R(\7Z4VWR7\9K#3!VUBE=Q+
M^6"#[^72"^R$@$-A+ /%WQ96P+DEPFG\Z3F]H:0%'K;W[%^==M1R3S6L)+]C
MI:F7WJE'2JCHAIL;N?L&O9ZYY2LDU^Y+=EWN BL6&VUDTX,Q;ICH_O2Q]^$
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
MSR[.*3'=M>D"U$UHU2>-KO'#L'8O#1B?X-8KK7$;^.[OWZ[\+U!+ P04
M" #50)I8Y+X"QH$"  #-!@  &0   'AL+W=O<FMS:&5E=',O<VAE970Y,"YX
M;6R%E6]OFS 0QK^*Q:JIE;;R+T#H"%+;M.JD5:J:=GOMD"-8!<QLD[3??F>3
MH'0AR1OP&3_/[\[@(UES\28+ $7>J[*6$ZM0JKFR;9D54%%YR1NH\4G.1445
MAF)IRT8 71A15=J>XX1V15EMI8F9>Q)IPEM5LAJ>!)%M55'Q<0,E7T\LU]I.
M/+-EH?2$G28-7<(,U&OS)#"R>Y<%JZ"6C-=$0#ZQKMVKFUBO-PM^,UC+G3'1
ME<PY?]/!S\7$<G1"4$*FM /%VPINH2RU$:;Q=^-I]4@MW!UOW>]-[5C+G$JX
MY>4?ME#%Q!I;9 $Y;4OUS-</L*DGT'X9+Z6YDG6W-D1BUDK%JXT8XXK5W9V^
M;_9A1^!Y!P3>1N"9O#N0R7)*%4T3P==$Z-7HI@>F5*/&Y%BM7\I,"7S*4*?2
M7W?7LSORG=RSFM89D!*P1(D3CU2U@BF&P?D4%&6EO"!GA-7DI>"MI/5")K;"
M#+2/G6UH-QW-.T";0G9)?/<;\1S/)Z^S*3D_N_AL8V,!?15>7X5G?/T#OCO)
M\ISDGVH9RK)S&PV[Z7-P)1N:P<3"#UV"6(&5?OWBALZ/([GZ?:[^,?<42Q\-
MY=2I0J/21VF5Q@'N4F*O!F"C'C8Z!0N&8)TJV('Y3AQYP["@AP6G8.$0+-B#
MN='(=8=A80\+3\&B(5BX#PN#<3@,BWI8= HV'H)%^[# 'QW8QG$/&Q^%O12
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
ME,N*6[C1\J?(L)@&HX!ED/-:XKW>?H5=/MY@JJ7U7[9M]@X' 4MKBUKMP.1
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
MS= 9F&CQ#:K)8D<[B'2^UQ1T5A75-%334<U -1/5+%2S4<U!-1?5/%3S42U
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
M4A4&K\_Q=4.RLCK9WC&ISLG5XQI("EP;J/=+QN130W^@N4V9_0)02P,$%
M  @ U4":6)0/LF8H @  !P4  !D   !X;"]W;W)K<VAE971S+W-H965T.3@N
M>&ULK91O;]HP$,:_BN554RL-'!*@P))(_*LZ:5T1T$U[:9*#6'7BS#;0?OO9
M3AI1C4Z=M#>)S[[G\?V<G,.CD(\J ]#H*>>%BG"F=3DB1"49Y%2U10F%6=D*
MF5-M0KDCJI1 4R?*.?$]KT]RR@H<AVYN(>-0[#5G!2PD4OL\I_)Y EP<(]S!
M+Q-+MLNTG2!Q6-(=K$ _E MI(M*XI"R'0C%1( G;"(\[HVE@\UW"=P9'=3)&
MEF0CQ*,-OJ01]FQ!P"'1UH&:UP&FP+DU,F7\JCUQLZ45GHY?W&\<NV'94 53
MP7^P5&<1'F"4PI;NN5Z*XRW4/#WKEPBNW!,=J]R^AU&R5UKDM=A4D+.B>M.G
M^AQ.!)WN&P*_%OCO%02UP)T<J2IS6#.J:1Q*<4329ALW.W!GX]2&AA7V*ZZT
M-*O,Z'2\NKU?KEOK^?(.?;M?SU=H,?XYGGR=H\L9:,JXND(M]+":H<N+*W2!
M6('6F=@K6J0J)-H48&U(4F\VJ3;SW]AL!DD;!9U/R/?\X(Q\^GZY_UI.#';#
M[C?LOO,+_I']'%CEU#WO9%MMI$J:0(1-+RF0!\#QQP^=OO?Y'.9_,GL%'330
MP=_<XU4FI&YID#DJA :%2OI,-QS.05=.?>=DKX-#/+@>^(->2 ZG.'^F=;K#
M(!@.F[RJ4G+RF]HKXH[*'2L4XK U2J]]W<-(5FU7!5J4[L_="&WZP TS<U.!
MM EF?2L,01W89FCNOO@W4$L#!!0    ( -5 FEB4) SH& ,  *8)   9
M>&PO=V]R:W-H965T<R]S:&5E=#DY+GAM;*U6;6^;,!#^*Q:KIE9:RSLD78*4
MA$[;AVY5TJ[:1Q<N 15L9CM)^^]G V$)D*R3^B5@\]QS]YSCNQMM*7OF"8!
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
M9W]W(8IU_5+Z?2%$L:H_+BF1Q8T*D+^?%X5XNE#ON1_^Y\3X7U!+ P04
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
M!39N[LIK<!1,X"9.BY@!!&.O1<L \AS'S"IL6(7736&];TQ,0T,2$S]J)]$
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
MFZW?;$D715)V4SA9RVUL^K5;@6Q_,+CY)#J7*+J-3?T(MCZ7&Z)]1J@F6HU
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
MV)ON[KPHT6X5JFE4,Y1F5V 5<!KMVU#)GAK_6<Z,;Y*VH>7:ND4C3ZCFHUJ
M:B&J1:@F4$VBFD(UC6J&TNSBKN)3H_'!)LEH8@K5?%0+4"U$M0C5!*I)5%.H
MIE'-4)I=Q55B:M1\$[MNGX7=8/L^YWC6LIW?LEW0LEW8LEW4LIUHV4ZV;*=:
MMM/-3UKG2^P0<9Y1%><9-<=Y.GY.=+2;WYFL_Y*_^X[$[KXPP\ED--V^QM!H
M3LW9#=WI[OLE8<W9]0?CL;=]):*1FYJS<T>32<T2J&9/G=YD>[=XA9Z=1C5#
M:=95/:YB,N-N,9EN:YMG/X?Y_<'4WAS^:K6H_87<?))=9U*HYJ-:@&HAJD6H
M)E!-HII"-8UJAM+L7PA5G&9\L#C-&(W3H)J/:@&JA:@6H9I -8EJ"M4TJAE*
MLZNXBM.,F^,T+_U,YKAN)YC=S[Z=-9]&YR)%XS0MQQ"BO4:H)EJ.0:*]*E33
M+<=@J%[MDJD",.-N 9CW<1XOKN-B55L?:,H%U7Q4"U M1+4(U02J2513J*91
MS5":7;=5RF5\L)3+&$VYH)J/:@&JA:@6H9I -8EJ"M4TJAE*LZNX2KF,?SSE
M,MY-1+B]WK0_W?UC:G,OG6L0C;"@6HAJ$:H)5).HIE!-HYJA-+L&JYS+N#GG
M\O%Q2;A^'ZU:*L97Y>K16<:SQ"G*.?$ROBC2;%%;J0\=N#UKKM_?+M(VK?Q6
MK8+F(74N*C1?@FH"U22J*533J&8HS2ZJ*E\R[K8]S\=X$1=I;?&@<1)4\U$M
M0+40U2)4$Z@F44VAFD8U0VEVT59QDO'!-N 9HQOPH)J/:@&JA:@6H9I -8EJ
M"M4TJAE*LZNX2NR,FQ,[C6O*W8C):#P8[7[6]JRYD\XEB,9X4"U$M0C5!*I)
M5%.HIE'-4)I5@I,J7C1ICA>]?$FYZ6#/DK)5*[]5JZ!Y2%V+"M4B5!.H)E%-
MH9I&-4-I=E%5$9U)8WA@9TEYEJ?SY3/5@T9R4,U'M0#50E2+4$V@FD0UA6H:
MU0REV55;17(FWJ'6E!/TWEVHYJ-:@&HAJD6H)E!-HII"-8UJAM+L*JY20I-]
M*:'GUY23W=M(N6.WYC[%9\V=="Y!-/!3,XK^:-R?U&Q#A78<H9JH>S*FX_%X
M]T,D:+\*U32J&4JS:Z=*ZDP:,P3$8G!0MX#SMJNK32N_5:N@5:NP5:NH52O1
MJI5LU4JU:J6;G[;.%]DA@B23*D@RV1<DL1='Y_'L>I6D>59[/:'[IZ":CVH!
MJH6H%J&:0#6):@K5-*H92K/KM@J?3$8'6QZANZF@FH]J :J%J!:AFD UB6H*
MU32J&4JSJ[A*NTSVI5T:ED=HO@75?%0+-IJUA!KNKCQ"M-<(U43=&&INW2'1
M7A6J:50SE&:75I5)F;3:XN0EJR<TFH)J/JH%&VW?JJU-JZA5*]&JE6S52K5J
MI=&?F*$T^^*NHAJ3?5&-9W:?KKV.R7?(SU#-1[4 U4)4BU!-H)I$-85J&M4,
MI5EU.ZWR'=/>H59M4W3/%U3S42U M1#5(E03J"913:&:1C5#:7855X&2Z;Y
MR?.KMN9#.Y<IFB!!M6"C69'00<V6:&BO$:J)FC%X@TG->W<2[5>AFD8U0VEV
M<56YCVGS5BPO7[<U=]"Y!-'X!ZH%&VW/NJU5JZA5*]&JE6S52K5JI=&?F*$T
M^^*NXA#3;INFF/AK'M>_CJ [IJ":CVH!JH6H%J&:0#6):@K5-*H92K.+MLIA
M3 <'6[2148$S5/-1+4"U$-4B5!.H)E%-H9I&-4-I=A5709=I<]"EXW[4S5KG
MRD6C+J@63'>WB_%Z=>LX-,2":J)F#.4:;E3S_AO:KT(UC6J&TNQZJP(JTT/O
MCM+<0><21',JJ!9,:_=NV5G'M6D5M6HE6K62K5JI5JTT^A,SE&9?W%5N8]IM
MEQ(5IU_BVFL8#7&@FH]J :J%J!:AFD UB6H*U32J&4JS:[8*A$P/MDG)%$V"
MH)J/:@&JA:@6H9I -8EJ"M4TJAE*LZNX2KY,?WR3DN9#.Y<I&G1!M0#50E2+
M4$U,=S>>J;^]*]JM0C6-:H;2K IT>U6(9?WU89=V>WKH6JHLY[-<P'(ART4L
M)[YS>U:6[9JI=LTT.P:#<0\5=KR\29+"CXOXY.T\R:^3LV0V6SH7V6I1\NLW
MQA\?=?+D:EV ;TZ]H^.=Q]^Y;Y2[?ORX8D[>WI9U^#[.K]/%TIDE5R79>[W>
M&3=/KV\>ORFRV_*G>.1\R8HBF]]_>9/$ETF^;E#^^U66%=^_67=PE^5_W9_V
MR?\#4$L#!!0    ( -5 FEA(JZ\[$ ,  ,\*   :    >&PO=V]R:W-H965T
M<R]S:&5E=#$P.2YX;6RUEEUOFS 4AO^*Q:JIE;J"38"D2Y#:I-MRD31JTNW:
M)4Y !4QM)VG__6R@D"H&I&F]26SP.<][_/'BX8&R9QX2(L!K$J=\9(1"9->F
MR8.0))A?T8RD\LV&L@0+V65;DV>,X'4>E,0FLBS73'"4&OXP?[9@_I#N1!RE
M9,$ WR4)9F^W)*:'D0&-]P</T384ZH'I#S.\)4LB'K,%DSVSRK*.$I+RB*:
MD<W(N('7M]!3 ?F(WQ$Y\*,V4*4\4?JL.M/UR+"4(A*30*@46/[MR9C$L<HD
M=;R428V*J0*/V^_9?^3%RV*>,"=C&O^)UB(<&7T#K,D&[V+Q0 ^_2%F0H_(%
M-.;Y+S@48]V! 8(=%S0I@Z6")$J+?_Q:3L11 $(- :@,0+GN I2KG&"!_2&C
M!\#4:)E--?)2\V@I+DK5JBP%DV\C&2?\\?UL-EW-[N:K);B93\#X?KZ:SG_>
MS<?3NR7X!L8T22(AET%P<#XA D<QOP!G($K!*J0[CM,U'YI"*E'YS*"DWA94
MU$"=D. *V/ 2( O9X'$Y >=G%Q_3F+*0JAI458/RO+V&O LFMRL3;Y<@BW$J
M@%0'R,LNRE0!.IFMZ=2)N.89#LC(D%N>$[8GAO_U"W2M[RUB[4JLG6>WF\3N
M6!#*#06">HYU&NU/T-BK-/9:)U2MCTY3$>7F4>K@[WW7Z3MJ[%Y#<RJ:TT7K
MZ6A%E'-,0\BSH)[F5C2WB^;H:.X)S;:1W=/#O KF=<%<'<P[@2''17I6OV+U
MNUB>CM4_80WTH$$%&G2!^CK0X 0$/3T)6K5/6:VL%14XUCJ-=;H[6O8B/')&
MV$I<TA@SD-$#D5^Q-RY(HL6W)OG'XPEKPX/HOY@(_ RG@[75P5:7:O21,NS#
M84.]OMNP=K5MP4[?TCI)&?;AO T\Z#3P:N."G<ZE]1)X:EVHAYIPM7/!3NO2
MN@G4>%>O:3)KZX+MWM5\]+R3SX!N]<RCZXFZZLTPVT8I!S'9R#CKRI-Z67%[
M*CJ"9OF-Y8D*>?_)FZ&\<1*F!LCW&TK%>T==@JH[K/\74$L#!!0    ( -5
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
M-O>QO8\-?FSQ8Y,?V_S8Z,=6/S;[L=V/#7]L^6/3']O^V/C'UC\V_[']CQT
M8B> V!$@; 98WK-?+/;L%VN_M/U#GU%>>RD[K^A2*U"M2+42U<I4JU"M2K4:
MU>I4:U"M2;46U=I4ZU"M^Z =['_YAJ;E]S+U'EZSX9'7/KVP =6&5!M1;4RU
M"=6F5)M1+1O"OOM&33E;Y]@\Q_8Y-M"QA8Y-=&RC8R,=6^G83,=V.C;4L:6.
M376ZENM9SN8_MO^Q T#L!! [ H3- ,L;]=EBHS[[CHWZ+WMP>NW%[+Q32ZU
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
ME6>5E4U[.1 T+]K8)16R*2Y>8WG1 :8,Y/<5I6(_4 O45Z?13U!+ P04
M" #50)I8D1&RO;P%  !3'0  &@   'AL+W=O<FMS:&5E=',O<VAE970Q,3(N
M>&ULO5G_;YLX'/U7K-QTVJ3KXB]@H)=&6D.W]8=V4]/=_4P3)T$#G#-.NTGW
MQY_Y$@C&<1,=FB:M0-[GP?M@/QYX\L+%]WS#F 0_TB3+KT8;*;>7XW&^V+ T
MRM_S+<O4+RLNTDBJ7;$>YUO!HF59E"9C#"$=IU&<C::3\MA7,9WPG4SBC'T5
M(-^E:21^7K.$OUR-T&A_X"%>;V1Q8#R=;*,UFS/Y;?M5J+UQP[*,4Y;E,<^
M8*NKT0=T&6*O*"@1?\7L)3_8!H64)\Z_%SNWRZL1+*Z()6PA"XI(_7EF,Y8D
M!9.ZCG]JTE%SSJ+P<'O/_K$4K\0\13F;\>3O>"DW5R-_!)9L%>T2^<!?/K-:
MD%OP+7B2E_^#EPKK!B.PV.62IW6QNH(TSJJ_T8^Z$0<%!!XIP'4!U@HP/E)
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
M]'+) #.>))UT47<ABF5H$6;HBTV^S6]NFD_AY2>H)(VJ9K#47,]9DA:SD+1
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
MP'\#X-< _Z. ?@U03;>KMBOA%EC@Z9C1+6*R-+#)"Z6^0H->22X[RE(P>)L
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
M=&5U8,4A<G$C:)8?>LZI$#3)+]<$+PA3 O+YDE*QNU$OJ([R1_\!4$L#!!0
M   ( -5 FE@FN "-+P4  !@>   :    >&PO=V]R:W-H965T<R]S:&5E=#$Q
M.2YX;6R]F5UOHS@4AO^*E1F-9J0F8$.^VB12F["[6<VD5=/9O1C-A0M.8@W8
MC'&:5MH?OS80/K(4-9)G>]& X;S'?LPY^.#)@8L?R8X0"9ZCD"73SD[*^-*R
M$G]'(IST>$R8NK+A(L)2G8JME<2"X" UBD(+V?; BC!EG=DD;;L3LPG?RY R
M<B= LH\B+%YN2,@/TP[L'!ONZ78G=8,UF\1X2]9$?HWOA#JS"I6 1H0EE#,@
MR&;:N8:7'G*T07K'7Y0<DLHQT$-YY/R'/ED&TXZM>T1"XDLM@=7/$YF3,-1*
MJA\_<]%.X5,;5H^/ZK^E@U>#><0)F?/P;QK(W;0SZH" ;/ ^E/?\\ ?)!]37
M>CX/D_0_..3WVAW@[Q/)H]Q8]2"B+/O%SSF(B@%T7C% N0$Z-7!?,7!R ^?4
M8/"*@9L;N&_UT,\-TJ%;V=A3< LL\6PB^ $(?;=2TP<I_=1:\:),/RAK*=15
MJNSD;'6[ZLYO5P_WMY\_+U>_@^7JP;OWU@]KT 7704#U;.(0+%GV3.JY_;@@
M$M,P^:1N^;I>@(_O/TTLJ?JB%2T_][O(_*)7_$($OG F=PGP6$""NH"E!E&,
M!!U',D>MBG_N60_8XPN ;.0T=:C=?$'\'G!@:@X;S+VW>!\U>:^-QBGFQ4GU
MG'/GI:%K\TS*;9;2J>8RB;%/IAV52Q(BGDAG]N$='-A739A,BGF&Q&H(W0*A
MVZ8^6R;)'C.? +X!7 24J40(DAU6GBX 4SE8M=/C/3Y/9-(P@IMV']_@]Z8)
M:34Z=T(RL4$JIO/^TPRZHSZTU=_$>JK2-N2V1KM?T.ZWDO!^[JE\T<EA0WTJ
M57:XEE+0Q[TD0'(PQPP'%#.PYB$6*I_XO29PK3[.!6=2S#,D5F,[*-@.S"6#
M@4F$)L4\0V(UA,,"X?!_2 ;M/EY)!JU&YT[(\,W)P)#;&NU107O42F*^7F:!
MWL2CU?1<'B;%/$-B-63C MG87(R/32(T*>89$JLAA':YF+5_?93/<R?5(!NC
MX6@\K$?8HKTSYY(SI59'5ZD#8"NZ%6>^6I +'JHK6T"9),J-(G9@1"0[&H.8
M")\PJ<K'1FB9_+@"S>X-$')/H;5VXVQHAM3JT% )#;5"NVV  QY? ..L6Z69
M06S$AAJP.</AX!1;:T?.QM;D%=DN++S6@915"VQ=T9>)'_P#U!/5G5<@+/-'
MJA&#T1+&J)IG2JV.M*QBH&ONQ0"-5AY&U3Q3:G6.97T"VPL40^^&_G_>#0/7
M'0V=TW@U6GR84JNC*\L/V+HTKT5UY:/0':9!ES)5V\54XK 1E]%JQ*B:9TJM
M#K4L2.#08%P;+2*,JGFFU.H<RU(#MM<:AN(Z<]*OQ#5RW0$:G\:UT8+#E%H=
M75ERP-;E>#VN?7\?[4,L20!NY8X(,.>1\KK3FP)/1'^QX5'SRL]H-6)4S3.E
M5O\B7=8CR#87X\AD.;$PJN:94JMS+(L3U%Z<F(GQW$GUW>V,G''_),3;^W(V
MN5]1H2!=H=1;RB4Z:E^B?X/?P3U)G3$=[+'@/B%! C:"1^##NQ%"]A66794#
MNA$6/XA,V^"5@KPA(BUG-L"Y&#CCBS$<Y=.@VU2"B#@[-JB%@=Y**>9'7U5S
MI)8."< L*-7(<ZQR3";Q'EZX8QOTFL9N57:Y(B*VZ?9BHG3W3&8;*T5KL85Y
MDV[<G;8C=+E S5<<=27=N[-*%]F>Z1<LME3U/20;Y<[N#=6[0F3;D-F)Y'&Z
MS_;(I>11>K@C."!"WZ"N;SB7QQ/MH-@,GOT+4$L#!!0    ( -5 FEB3U I
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
M%]K1P C+DB8T&N] YTNMW=;P"?J9G[\!4$L#!!0    ( -5 FECV&H(3%0D
M +<S   :    >&PO=V]R:W-H965T<R]S:&5E=#$R,RYX;6S56VUOX\81_BL+
M-6@3P#YQ7TE>;0$ZV4$,.!?7\K4HBGZ@I;5%A"(5DK+/07Y\AI1.*W*'*^F.
M_= O-B7-#I]=[L[SS(QT\9KEOQ8+K4OR>9FDQ>5@49:K]\-A,5OH952\RU8Z
MA4^>LGP9E? R?QX6JUQ'\WK0,ADRSU/#912G@]%%_=Y=/KK(UF42I_HN)\5Z
MN8SRMP\ZR5XO!W3PY8W[^'E15F\,1Q>KZ%E/=?EI=9?#J^'.RSQ>ZK2(LY3D
M^NER,*;O)XI7 VJ+?\;ZM=B[)M54'K/LU^K%S?QRX%6(=*)G9>4B@G\O>J*3
MI/($.'[;.AWL[ED-W+_^XOW'>O(PF<>HT),L^5<\+Q>7@V! YOHI6B?E??;Z
MD]Y.2%;^9EE2U'_)Z];6&Y#9NBBSY78P(%C&Z>9_]'F[$'L#J.@8P+8#V+$#
M^'9 O7+##;)Z6E=1&8TN\NR5Y)4U>*LNZK6I1\-LXK1ZC-,RAT]C&%>.?HS3
M*)W%44*F951J>$ EF<)>F:\336[(.?DPOAU_G%R3Z4_7UP]3\OV5+J,X*7Z
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
M05(9P.=/&>3AVQ?5;S=VO]49_0E02P,$%     @ U4":6/.&CKGV @  ] H
M !H   !X;"]W;W)K<VAE971S+W-H965T,3(T+GAM;+56:V_:,!3]*U8V3:W4
M-0](H!U$HK15*VT3*GM\-LD%K#IV9AMHI?[X72=I!E.:LHE^P8_<<W+.=7RY
M@XU4]WH)8,A#QH4>.DMC\G/7U<D2,JI/90X"G\RERJC!I5JX.E= TP*4<3?P
MO,C-*!-./"CV)BH>R)7A3,!$$;W*,JH>+X#+S=#QG>>-.[98&KOAQH.<+F *
MYGL^4;AR:Y:492 TDX(HF ^=D7\^]CT+*")^,-CHK3FQ5F92WMO%;3IT/*L(
M."3&4E <UC &SBT3ZOA5D3KU.RUP>_[,?EV81S,SJF$L^4^6FN70Z3LDA3E=
M<7,G-S=0&0HM7R*Y+G[)IHKU')*LM)%9!48%&1/E2!^J1&P!_.X+@* "!/L"
M.A6@4Q@ME16V+JFA\4#)#5$V&MGLI,A-@48W3-ACG!J%3QGB3'S-!!4)HYQ,
M#36 !V3(%+^5=,6!W)*/Y&+T>?1U?$6F-U=7WZ9DE*;,YA\!MZ+\BNQI'%V"
MH8SK8T2\)R[12ZI #UR#$NV+W*22<U'*"5Z0<PG)*>GX)R3P@DX#?+P_/-B%
MNYB8.CM!G9V@X.N\P#>6(L5/%E+2D*=&>R5?MYG/WLESG=,$A@Y>.@UJ#4[\
MX9T?>9^:S!Z(;,=ZI[;>:6-'ZUF&!UL<Y G)J2)KRE= CI@@J>2<*DUR4&7
M<5,J2OZHX+?59!U[ W>][:\M8D=TMQ;=W5NT/JE&PK1>X1%:Y>5.H]R2.=P2
M$T5^V.]U_;]4-P1V0R_RPK!9?%B+#_]#/)9>;:A(F5B\YB#<UT%#8*N#J'80
MM3JX@UPJ0V=8.C@L\*[@+<%J@2Z>R 1E8VU!DSD5CTWR6[G_]>H<B&PG#;TZ
M#;T#5XW>(:T?B&S'>K^VWG_CJM%_M6JT1>R(/JM%G[U9U3C;]\XU!+;>.=_[
M\P_NO6W=J/CW,-$4V>S"W6I);#_XA:H%$QKKPARAWFD/.5398I4+(_.B2YE)
M@SU/,5UB6PK*!N#SN93F>6$;G[K1C7\#4$L#!!0    ( -5 FEC+R682)P@
M #,K   :    >&PO=V]R:W-H965T<R]S:&5E=#$R-2YX;6S%FFMOVS84AO\*
MX0U# RRU>!%%98F!UDJW &L3U-GV6;%I6Y@L>A*=M,!^_"C9D6SRB$LZ ?N2
M^/+R6._A[>&1+I]4^6>UEE*C+YN\J*Y&:ZVW%^-Q-5_+35J]55M9F&^6JMRD
MVKPM5^-J6\ITT33:Y&,2!'R\2;-B-+EL/KLK)Y=JI_.LD'<EJG:;35I^?2]S
M]70UPJ/G#SYGJ[6N/QA/+K?I2LZD_FU[5YIWXS;*(MO(HLI4@4JYO!J]PQ<)
MHW6#1O%[)I^JH]>HMO*@U)_UFYO%U2BHKTCF<J[K$*GY]RBG,L_K2.8Z_CH$
M';6_63<\?OT<_4-CWIAY2"LY5?D?V4*OKT9BA!9RF>YR_5D]_2(/AL(ZWESE
M5?,7/1VTP0C-=Y56FT-C<P6;K-C_3[\<$G'4 /.>!N30@-@-6$\#>FA 7]J
M'1JP)C-[*TT>DE2GD\M2/:&R5IMH]8LFF4UK8S\KZGZ?Z=)\FYEV>O(A*])B
MGJ4YFNE42].C&LW,X%KL<HENT#F:W;^[O_YX_>E^AFX_H-N[Z\_O[F]N/\W0
MFT3J-,NK,R/Z;9:@-]^?H>]15J#[M=I5:;&H+L?:7&'].^/YX6K>[Z^&]%P-
M)NBC*O2Z0M?%0BY. XR-M=8?>?;WGG@C)G+^%E'\(R(!H< %35_>G #-DY<W
MQQXWM.TMVL2C/?&FRJ2EJ.0" ?T&YGL?C\'QZD7EHMJF<WDU,JM&)<M'.9K\
M\!WFP4]0KH8,E@P4["2/K,TC\T6??#(+:BD?9;&38-;VK7G3NEXY'R<1QY03
M?CE^/$X(H&-<<!R<ZA)7%Y(HPCQN=2<VPM9&Z+4Q595&:NFULH\0'OTTIY1R
M1BTK@(X$(8N89<75,<HC$4:P%=Y:X5XK/Y>JJM"V5,M,0S:X\[.81'$L;!N0
MCE/3=Y8-5Q<',<4$=A&U+B+O_+S=RC+56;%"\LNVGJC5!60F&G)2#ADL&2C8
M2?)$FSSA'P*R,-G+D=DZ4+HP>UU6Z3J;C[+-)I1,X0Y(%C AK('ARB@CF,36
MN !D@8A9S[B(6VNQU]IGDZRTG*\;;PLS6W.U;;9:G['8'<I!()@U(:>NC,>"
M$,N7JPH%"WHF+0XZ>@B\QF[U6I9(M<,^*^9J(W]$A01G\2':\66<"T:IU0M3
M2,>I"&Q7D(Y% 1<]OHZH"'M]W2MM1J)RIC-H"CL7(0CGW%Z: %T<1$$4VJ9<
M782%69QZ3)'.%/&:^K5>8I>EVCP;4P5LB+A3*J24!+8A5T=#'G!L&W)U. ZH
MZ#/4T1#VX]!^].W'''KSW$=GX)J+!R6A0:,E0T4[36,'0]A/0S>%EB9NNQJ!
MZ6/N3,.8!;$S=0%AQ,Q\L <%H L%#FG/H.B8"/NAJ'6S'Q>@&1=B0LP)MJT
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
MJ(W@;1_=#B1;-9WEG$G5IS:7I7KWP%P'J/L+QN3K0"_0O\TD_P!02P,$%
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
MLC:,H:$Q$::Q84_'>7,P*%Z@=EDWW:23S0K=UHVRK<L[8(!'.I?=!7A,:YD
M4"^)HLA3MQ2&]428]9P)Q)H_'L%(!6V>'"FH&S'E#LR/]5>'D3((*<((^<',
MKOG1^35LZ^0(C7H\+*#R7B"7#':*XXV+/]".%K9^<LQ&A5$!G$H'VM&$P4P1
MQLP?ZK\*VSXY8M G1Z!QZ.IH*!8''Y0-D^EW-&D)B!69<#XKZ\IXRF/;,<!8
MG'H*.\)PIWC6:>SX_5D"K.9%=O5Z"NIP'-M[#D@7<U^Q1!A(%6%(_1N[LP0
MJ%S8K7=30$9BISDI V241\3'>(9B19AB_Y:6*^$2J7 ^90R(@/AD@&P8G^&'
MQ W<QF&X':75*AX5?$>UEHUE;1A? [YQ&'Q_K-5J9WSPK1-J[V-O<P$9C;A3
ML0!D)"*QG4,7!]\^LY+-7?\M/NI>]2UOOZAE_^[^FX*N^^_'L=Y_@U]EV^_[
M,6:V7S_T:]ZHZ:-%I5PHD]'+6.5UL_U&G^V+KE[WWW%S6W==O>I_7,I\+ALM
M4+]?U'7W]$+_@?WW*EW]#U!+ P04    " #50)I8D-Z8<EP#  !M%0  #0
M 'AL+W-T>6QE<RYX;6S=6-%NVC 4_94H7:=6FAH@(Y 5D#:D2I.VJ5+[L+?*
M$ <L.4[FF [ZN'_9V[YBG[(OF:\=$J"^J.W#6A;4QK[']]QSKV^(VT&I5IQ>
MS2E5WC+CHASZ<Z6*=T%03N<T(^597E"AD327&5%Z*F=!64A*DA*<,AYT6JTH
MR @3_F@@%ME%IDIOFB^$&OJ]VN39V\=DZ+>CM[YGZ<9Y0H?^S<GK;XM<G;_R
M[/WHS=%1Z^;T?-=^8H!3/W"2=A] >M;">36&44=NZM\_$<$UL%]Q;YMVK>)8
M,]62CC'GOL.Y\43=8G<J?W[\0G)ID+W)]%KN9$S!3YJ9<0^J-AD-TEPTW1+Z
MUJ#Y24:]6\*'_IAP-I$,O%*2,;ZRY@X8ICG/I:=TF^J ;;"4=Q9NVQET<,63
M,9%+$]M&L+\GU?(=8#T#@8SS6F#'MX;1H"!*42DN],0L-L9[D%>-KU>%5CB3
M9-7N=/W&P=QTD$DN$RKK,&U_;1H-.$U!CF2S.=Q57@0 *I5G>I P,LL%,1K6
M'M5 TTXIYU?P>']-M[B7Z<;.F7T3]5 +JH:6QDZ ?Y/-<F_2=I_$ZQ7L-E<?
M%CH=8>;0:/12TI0MS7R9U@(P]C;.3HJ"K]YS-A,9M<D_..!H0-9^WCR7[$Y'
M@U:9:@.5OG=+I6+33<MW28IKNE3K=EJFN.;. 6K^MW6>44$EX9NB=>^_Y"H_
M67'8>R[)YEME5[!38_7.?NDBNX<@,CH$D0?1D_U#$!F_?)'/]IWYB#KV#D!D
M^#+W.J@.:QLGPJWS8&WUX-P]]+_ .9XW0;W)@G'%1#6;LR2AXMZQ4-,K,M%_
M2V[QZ_4)3<F"J^L:'/K-^#--V"*+ZU674(AJ53/^!.FUH_K0KV,QD= E3<;5
M5,XF9NCI@8Y:7>"PBUR8RXU@/A9S(X!A<3 %F(_UPN+\3_GTT7PLAFGK.Y$^
MZM-'?:R7"QF;#Q;'[1/KRYUI'(=A%&$5'8^="L98W:((?MQLF#;PP.) I,?5
M&M]MO$/V]P&VI_LZ!,L4[T0L4[S6@+CK!AYQ[-YM+ YX8+N ]0[$=\>!GG+[
MA"'L*J8->X)Q)(XQ!'K1W:-1A%0G@H][?["G) SCV(T YE80AA@"3R..8 I
M X:$H7D/[KR/@O5[*FC^P3KZ"U!+ P04    " #50)I8EXJ[',     3 @
M"P   %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%
MBD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L
M'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA<UYVE/=LO3T%O@*\Z3'%":4A+
M,P[PS=)_,O?S##5%Y4HCE5L:>-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO
M8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0    ( -5 FE@B:5?R
M\@@  !Q3   /    >&PO=V]R:V)O;VLN>&ULQ9QO<Z)*%H>_2I>O9JO&#:B
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
M]\YOG_]Z^?=)C] KU]/[&<OE'U!+ P04    " #50)I8A:-_>*X"  !11P
M$P   %M#;VYT96YT7U1Y<&5S72YX;6S-V\UNFT 4AN%;L=A&ACD##%#%V;3=
MMEGT!J@9Q\C\B9FDSMUW<'ZD5JG5R)7Z;HP,,^<<&.G9?=??'B?K5L>^&]PF
MVGL_?4@2M]W;OG;Q.-DA/-F-<U_[\'>^2Z9Z>ZCO;**5,LEV'+P=_-HO-:*;
MZT]V5]]W?O7Y&&Z[=APVT6P[%ZT^/BU<>FVB>IJZ=EO[\#QY&)K?NJR?.\1A
MYVF-V[>3NPH+HN3-#LN3/S=XWO?UP<YSV]C5;3W[+W4?5B7'+G'^L;,N/E_B
MC1G'W:[=VF;<WO=A2^RFV=:-VUOK^RY^*GIUOK,/7]@^_<K%_4]ESC4,*V_G
M<7+AQ&;[_G8O1[+L7D^AD)U]>_X57SN&TA>_GUU.N['-7_8.G_?'.!].Y^&2
MT^7R;_SK&;_6?^<<&C)'"IDC@\R10^8PD#D*R!PE9(X*,H<HRB 4485"JE!,
M%0JJ0E%5**P*Q56AP"H4635%5DV155-DU119-45639%54V35%%DU159-D36E
MR)I29$TILJ8465.*K"E%UI0B:TJ1-:7(FE)DS2BR9A19,XJL&476C")K1I$U
MH\B:463-*+)F%%ESBJPY1=:<(FM.D36GR)I39,TILN8467.*K#E%5D.1U5!D
M-119#4560Y'54&0U%%D-159#D=509"THLA8460N*K 5%UH(B:T&1M:#(6E!D
M+2BR%A192XJL)476DB)K29&UI,A:4F0M*;*6%%E+BJPE1=:*(FM%D;6BR%I1
M9*THLE8462N*K!5%UHHB:T61512%5E$46T51<!5%T544A5=1%%]%48 511%6
M%(5841AC07$LC+&<0!8GD<6)9'$R69Q0%B>5Q8EE87)9@@EF"2:9)9AHEF"R
M68()9PDFG268>);\UWS6]W$\_./VIVO<U^WPTC]9BKJ;GU!+ 0(4 Q0    (
M -5 FE@'04UB@0   +$    0              "  0    !D;V-0<F]P<R]A
M<' N>&UL4$L! A0#%     @ U4":6'*.?3_N    *P(  !$
M ( !KP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ U4":6)E<G",0
M!@  G"<  !,              ( !S $  'AL+W1H96UE+W1H96UE,2YX;6Q0
M2P$"% ,4    " #50)I8)JY\$ZD&  #B'@  &               @($-"
M>&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @ U4":6)H&E.VA
M"0  :2T  !@              ("![ X  'AL+W=O<FMS:&5E=',O<VAE970R
M+GAM;%!+ 0(4 Q0    ( -5 FE@?@BD\9@(  )$&   8              "
M@<,8  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4    " #50)I8
MR(\V6/<&  " '0  &               @(%?&P  >&PO=V]R:W-H965T<R]S
M:&5E=#0N>&UL4$L! A0#%     @ U4":6,>@0P<M!   SPX  !@
M     ("!C"(  'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    (
M -5 FE@O\/#SS0P  !AD   8              " @>\F  !X;"]W;W)K<VAE
M971S+W-H965T-BYX;6Q02P$"% ,4    " #50)I8$XI %E@#  !^#   &
M            @('R,P  >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#
M%     @ U4":6%>@;\YR#P  +5,  !@              ("!@#<  'AL+W=O
M<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( -5 FEB>!*JN# ,   $+
M   8              " @2A'  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q0
M2P$"% ,4    " #50)I8@./C=0D)  !7%@  &0              @(%J2@
M>&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( -5 FEC[GC))
MS"<   Z&   9              " @:I3  !X;"]W;W)K<VAE971S+W-H965T
M,3$N>&UL4$L! A0#%     @ U4":6'DMH:+!!   LQ   !D
M ("!K7L  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    " #5
M0)I8R2359WT#  "M!P  &0              @(&E@   >&PO=V]R:W-H965T
M<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    ( -5 FE@PR2:]1 ,  /,'   9
M          " @5F$  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#
M%     @ U4":6 Y9RJW' P  U0@  !D              ("!U(<  'AL+W=O
M<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    " #50)I8M/S2HIL#   .
M"0  &0              @('2BP  >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM
M;%!+ 0(4 Q0    ( -5 FEAD]N9UK ,  !0*   9              " @:2/
M  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @ U4":6!VN
M%&#!#   U"L  !D              ("!AY,  'AL+W=O<FMS:&5E=',O<VAE
M970Q."YX;6Q02P$"% ,4    " #50)I8L*U@/&H%   O#0  &0
M    @(%_H   >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    (
M -5 FE@D.(/YT@D  %,B   9              " @2"F  !X;"]W;W)K<VAE
M971S+W-H965T,C N>&UL4$L! A0#%     @ U4":6+$"&^?B!P  71D  !D
M             ("!*;   'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"
M% ,4    " #50)I8SOJLR: 0   H-@  &0              @(%"N   >&PO
M=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( -5 FE@VY(GWSP,
M .@(   9              " @1G)  !X;"]W;W)K<VAE971S+W-H965T,C,N
M>&UL4$L! A0#%     @ U4":6-X3I\?) @  @@8  !D              ("!
M'\T  'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    " #50)I8
M8O%S X8$  !4"P  &0              @($?T   >&PO=V]R:W-H965T<R]S
M:&5E=#(U+GAM;%!+ 0(4 Q0    ( -5 FE@9V=O3!@0  # )   9
M      " @=S4  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%
M  @ U4":6'*!TR6L$P  VC\  !D              ("!&=D  'AL+W=O<FMS
M:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    " #50)I8MFLG4PT$  #\"P
M&0              @('\[   >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+
M 0(4 Q0    ( -5 FE@3T"*N$P8  "D3   9              " @4#Q  !X
M;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @ U4":6,VV3V.;
M'@  R8<  !D              ("!BO<  'AL+W=O<FMS:&5E=',O<VAE970S
M,"YX;6Q02P$"% ,4    " #50)I8MX&?^#D.  "4+   &0
M@(%<%@$ >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( -5
MFEB.6_K"0P(  &L%   9              " @<PD 0!X;"]W;W)K<VAE971S
M+W-H965T,S(N>&UL4$L! A0#%     @ U4":6,,UQSY&!   "0H  !D
M         ("!1B<! 'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q02P$"% ,4
M    " #50)I8M![@ *<(  "'%P  &0              @('#*P$ >&PO=V]R
M:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    ( -5 FEB&G%#A0@0  &0+
M   9              " @:$T 0!X;"]W;W)K<VAE971S+W-H965T,S4N>&UL
M4$L! A0#%     @ U4":6*^3Y[T3 P  CP8  !D              ("!&CD!
M 'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    " #50)I8BQ31
M5O0+  ",)0  &0              @(%D/ $ >&PO=V]R:W-H965T<R]S:&5E
M=#,W+GAM;%!+ 0(4 Q0    ( -5 FECT)T \2U4  ,D_ 0 9
M  " @8]( 0!X;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#%     @
MU4":6)3YJ_E#!@  CQ4  !D              ("!$9X! 'AL+W=O<FMS:&5E
M=',O<VAE970S.2YX;6Q02P$"% ,4    " #50)I85YY"S.\$  "D%0  &0
M            @(&+I $ >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4
M Q0    ( -5 FEBFX#V/>0(  +,%   9              " @;&I 0!X;"]W
M;W)K<VAE971S+W-H965T-#$N>&UL4$L! A0#%     @ U4":6/-Z/"JX @
M>P8  !D              ("!8:P! 'AL+W=O<FMS:&5E=',O<VAE970T,BYX
M;6Q02P$"% ,4    " #50)I8NM<\K4<#  !.!P  &0              @(%0
MKP$ >&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    ( -5 FE@*
MR&RLK (  &4&   9              " @<ZR 0!X;"]W;W)K<VAE971S+W-H
M965T-#0N>&UL4$L! A0#%     @ U4":6(M)45P' P  6@@  !D
M     ("!L;4! 'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"% ,4
M" #50)I8&]5X3"@$  #5#P  &0              @('ON $ >&PO=V]R:W-H
M965T<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    ( -5 FEA/("D?! ,  #L'   9
M              " @4Z] 0!X;"]W;W)K<VAE971S+W-H965T-#<N>&UL4$L!
M A0#%     @ U4":6&3TK54!!   90H  !D              ("!B< ! 'AL
M+W=O<FMS:&5E=',O<VAE970T."YX;6Q02P$"% ,4    " #50)I8:-D_''(&
M  #1%@  &0              @('!Q $ >&PO=V]R:W-H965T<R]S:&5E=#0Y
M+GAM;%!+ 0(4 Q0    ( -5 FEAOJW3!J00  'T-   9              "
M@6K+ 0!X;"]W;W)K<VAE971S+W-H965T-3 N>&UL4$L! A0#%     @ U4":
M6$M[YL;# @  208  !D              ("!2M ! 'AL+W=O<FMS:&5E=',O
M<VAE970U,2YX;6Q02P$"% ,4    " #50)I8_K<J@-P)  !8(   &0
M        @(%$TP$ >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;%!+ 0(4 Q0
M   ( -5 FEAFMD^6_@,  .H+   9              " @5?= 0!X;"]W;W)K
M<VAE971S+W-H965T-3,N>&UL4$L! A0#%     @ U4":6/?8B<RV @  &0<
M !D              ("!C.$! 'AL+W=O<FMS:&5E=',O<VAE970U-"YX;6Q0
M2P$"% ,4    " #50)I8HJ:G*#$*  #J(   &0              @(%YY $
M>&PO=V]R:W-H965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0    ( -5 FEAL(_]O
M< ,  /\(   9              " @>'N 0!X;"]W;W)K<VAE971S+W-H965T
M-38N>&UL4$L! A0#%     @ U4":6$GWKUUJ P  ] @  !D
M ("!B/(! 'AL+W=O<FMS:&5E=',O<VAE970U-RYX;6Q02P$"% ,4    " #5
M0)I8DNMO=!T%  !A(0  &0              @($I]@$ >&PO=V]R:W-H965T
M<R]S:&5E=#4X+GAM;%!+ 0(4 Q0    ( -5 FEBK.UU?Z@(  !8)   9
M          " @7W[ 0!X;"]W;W)K<VAE971S+W-H965T-3DN>&UL4$L! A0#
M%     @ U4":6/=$5(4B!0  "BD  !D              ("!GOX! 'AL+W=O
M<FMS:&5E=',O<VAE970V,"YX;6Q02P$"% ,4    " #50)I82U!E8T(#   [
M$   &0              @('W P( >&PO=V]R:W-H965T<R]S:&5E=#8Q+GAM
M;%!+ 0(4 Q0    ( -5 FEA,5+K;8@,  .H*   9              " @7 '
M @!X;"]W;W)K<VAE971S+W-H965T-C(N>&UL4$L! A0#%     @ U4":6.;T
MI;RR @  ] <  !D              ("!"0L" 'AL+W=O<FMS:&5E=',O<VAE
M970V,RYX;6Q02P$"% ,4    " #50)I8!/^0D3@$  ",$P  &0
M    @('R#0( >&PO=V]R:W-H965T<R]S:&5E=#8T+GAM;%!+ 0(4 Q0    (
M -5 FEC*\(!A(00  !,5   9              " @6$2 @!X;"]W;W)K<VAE
M971S+W-H965T-C4N>&UL4$L! A0#%     @ U4":6!'Q:N*E P  < P  !D
M             ("!N18" 'AL+W=O<FMS:&5E=',O<VAE970V-BYX;6Q02P$"
M% ,4    " #50)I8M%QW-N "  #(!P  &0              @(&5&@( >&PO
M=V]R:W-H965T<R]S:&5E=#8W+GAM;%!+ 0(4 Q0    ( -5 FEC%8\^C] ,
M -@0   9              " @:P= @!X;"]W;W)K<VAE971S+W-H965T-C@N
M>&UL4$L! A0#%     @ U4":6'T;%&@\"0  9V$  !D              ("!
MUR$" 'AL+W=O<FMS:&5E=',O<VAE970V.2YX;6Q02P$"% ,4    " #50)I8
M!B$V]8@"  #L!P  &0              @(%**P( >&PO=V]R:W-H965T<R]S
M:&5E=#<P+GAM;%!+ 0(4 Q0    ( -5 FEBPM63]2 <  *DS   9
M      " @0DN @!X;"]W;W)K<VAE971S+W-H965T-S$N>&UL4$L! A0#%
M  @ U4":6#^>^IQ\ P  7@P  !D              ("!B#4" 'AL+W=O<FMS
M:&5E=',O<VAE970W,BYX;6Q02P$"% ,4    " #50)I8HNI;G(T#  !J#
M&0              @($[.0( >&PO=V]R:W-H965T<R]S:&5E=#<S+GAM;%!+
M 0(4 Q0    ( -5 FE@.1[+6304  $(A   9              " @?\\ @!X
M;"]W;W)K<VAE971S+W-H965T-S0N>&UL4$L! A0#%     @ U4":6%T]AC9!
M!   1!,  !D              ("!@T(" 'AL+W=O<FMS:&5E=',O<VAE970W
M-2YX;6Q02P$"% ,4    " #50)I8ISL8BJH%   D*   &0
M@('[1@( >&PO=V]R:W-H965T<R]S:&5E=#<V+GAM;%!+ 0(4 Q0    ( -5
MFE@R?3;.? 0  &@;   9              " @=Q, @!X;"]W;W)K<VAE971S
M+W-H965T-S<N>&UL4$L! A0#%     @ U4":6(44<>7( P  ^!$  !D
M         ("!CU$" 'AL+W=O<FMS:&5E=',O<VAE970W."YX;6Q02P$"% ,4
M    " #50)I8ZT19MD$#  !)"P  &0              @(&.50( >&PO=V]R
M:W-H965T<R]S:&5E=#<Y+GAM;%!+ 0(4 Q0    ( -5 FE@P:(-S% ,  &@)
M   9              " @099 @!X;"]W;W)K<VAE971S+W-H965T.# N>&UL
M4$L! A0#%     @ U4":6)[Y/BFF P  %@X  !D              ("!45P"
M 'AL+W=O<FMS:&5E=',O<VAE970X,2YX;6Q02P$"% ,4    " #50)I808+=
MQ: (   _5P  &0              @($N8 ( >&PO=V]R:W-H965T<R]S:&5E
M=#@R+GAM;%!+ 0(4 Q0    ( -5 FE@,5-]0#@T  -6R   9
M  " @05I @!X;"]W;W)K<VAE971S+W-H965T.#,N>&UL4$L! A0#%     @
MU4":6*;L@SPR P  Z H  !D              ("!2G8" 'AL+W=O<FMS:&5E
M=',O<VAE970X-"YX;6Q02P$"% ,4    " #50)I87E=GOQ8$  #L#P  &0
M            @(&S>0( >&PO=V]R:W-H965T<R]S:&5E=#@U+GAM;%!+ 0(4
M Q0    ( -5 FEB6F4 9+ ,  /D)   9              " @0!^ @!X;"]W
M;W)K<VAE971S+W-H965T.#8N>&UL4$L! A0#%     @ U4":6-O)T2:4 @
MZP<  !D              ("!8X$" 'AL+W=O<FMS:&5E=',O<VAE970X-RYX
M;6Q02P$"% ,4    " #50)I8.T]$-7H"  "Z!@  &0              @($N
MA ( >&PO=V]R:W-H965T<R]S:&5E=#@X+GAM;%!+ 0(4 Q0    ( -5 FE@\
MS,TZ. (  ,<$   9              " @=^& @!X;"]W;W)K<VAE971S+W-H
M965T.#DN>&UL4$L! A0#%     @ U4":6.2^ L:! @  S08  !D
M     ("!3HD" 'AL+W=O<FMS:&5E=',O<VAE970Y,"YX;6Q02P$"% ,4
M" #50)I8MSKVHMD"  #^!P  &0              @($&C ( >&PO=V]R:W-H
M965T<R]S:&5E=#DQ+GAM;%!+ 0(4 Q0    ( -5 FE@XPU5>>@(  +<&   9
M              " @1:/ @!X;"]W;W)K<VAE971S+W-H965T.3(N>&UL4$L!
M A0#%     @ U4":6)XV48]( @  -04  !D              ("!QY$" 'AL
M+W=O<FMS:&5E=',O<VAE970Y,RYX;6Q02P$"% ,4    " #50)I8G6'P6G8#
M  !$#0  &0              @(%&E ( >&PO=V]R:W-H965T<R]S:&5E=#DT
M+GAM;%!+ 0(4 Q0    ( -5 FEA""<26[3L  &0@!0 9              "
M@?.7 @!X;"]W;W)K<VAE971S+W-H965T.34N>&UL4$L! A0#%     @ U4":
M6 R*P,"/ @  R08  !D              ("!%]0" 'AL+W=O<FMS:&5E=',O
M<VAE970Y-BYX;6Q02P$"% ,4    " #50)I8':@#//@#  !9$0  &0
M        @('=U@( >&PO=V]R:W-H965T<R]S:&5E=#DW+GAM;%!+ 0(4 Q0
M   ( -5 FEB4#[)F* (   <%   9              " @0S; @!X;"]W;W)K
M<VAE971S+W-H965T.3@N>&UL4$L! A0#%     @ U4":6)0D#.@8 P  I@D
M !D              ("!:]T" 'AL+W=O<FMS:&5E=',O<VAE970Y.2YX;6Q0
M2P$"% ,4    " #50)I8T?F_+$("  #4!   &@              @(&ZX (
M>&PO=V]R:W-H965T<R]S:&5E=#$P,"YX;6Q02P$"% ,4    " #50)I8@;5Y
MT.4%  #>'   &@              @($TXP( >&PO=V]R:W-H965T<R]S:&5E
M=#$P,2YX;6Q02P$"% ,4    " #50)I8?S ZT-D)  !;50  &@
M    @(%1Z0( >&PO=V]R:W-H965T<R]S:&5E=#$P,BYX;6Q02P$"% ,4
M" #50)I8WW[8S;H'   E-0  &@              @(%B\P( >&PO=V]R:W-H
M965T<R]S:&5E=#$P,RYX;6Q02P$"% ,4    " #50)I8;<IA79,'  !%,0
M&@              @(%4^P( >&PO=V]R:W-H965T<R]S:&5E=#$P-"YX;6Q0
M2P$"% ,4    " #50)I8TTP22*D&  #F)   &@              @($? P,
M>&PO=V]R:W-H965T<R]S:&5E=#$P-2YX;6Q02P$"% ,4    " #50)I8XW^E
M05$#  !K#0  &@              @($ "@, >&PO=V]R:W-H965T<R]S:&5E
M=#$P-BYX;6Q02P$"% ,4    " #50)I8GU\S\H\$   _$@  &@
M    @(&)#0, >&PO=V]R:W-H965T<R]S:&5E=#$P-RYX;6Q02P$"% ,4
M" #50)I8D(_'.YH6  !_9@$ &@              @(%0$@, >&PO=V]R:W-H
M965T<R]S:&5E=#$P."YX;6Q02P$"% ,4    " #50)I82*NO.Q #  #/"@
M&@              @($B*0, >&PO=V]R:W-H965T<R]S:&5E=#$P.2YX;6Q0
M2P$"% ,4    " #50)I8T7AA#9XL   1*P0 &@              @(%J+ ,
M>&PO=V]R:W-H965T<R]S:&5E=#$Q,"YX;6Q02P$"% ,4    " #50)I8B=(5
M?'H#  !&#0  &@              @(% 60, >&PO=V]R:W-H965T<R]S:&5E
M=#$Q,2YX;6Q02P$"% ,4    " #50)I8D1&RO;P%  !3'0  &@
M    @('R7 , >&PO=V]R:W-H965T<R]S:&5E=#$Q,BYX;6Q02P$"% ,4
M" #50)I8D<^?%TH.  #GC@  &@              @('F8@, >&PO=V]R:W-H
M965T<R]S:&5E=#$Q,RYX;6Q02P$"% ,4    " #50)I8 $S(KCH%  !&'P
M&@              @(%H<0, >&PO=V]R:W-H965T<R]S:&5E=#$Q-"YX;6Q0
M2P$"% ,4    " #50)I8&V/E2]D$  !@'   &@              @(':=@,
M>&PO=V]R:W-H965T<R]S:&5E=#$Q-2YX;6Q02P$"% ,4    " #50)I81-8
MDAD%  #7&@  &@              @('K>P, >&PO=V]R:W-H965T<R]S:&5E
M=#$Q-BYX;6Q02P$"% ,4    " #50)I8!]WF@6L'  "1-@  &@
M    @($\@0, >&PO=V]R:W-H965T<R]S:&5E=#$Q-RYX;6Q02P$"% ,4
M" #50)I830($E8X$  #6'P  &@              @('?B , >&PO=V]R:W-H
M965T<R]S:&5E=#$Q."YX;6Q02P$"% ,4    " #50)I8)K@ C2\%   8'@
M&@              @(&EC0, >&PO=V]R:W-H965T<R]S:&5E=#$Q.2YX;6Q0
M2P$"% ,4    " #50)I8D]0*0,($   3&0  &@              @($,DP,
M>&PO=V]R:W-H965T<R]S:&5E=#$R,"YX;6Q02P$"% ,4    " #50)I82Y._
M7UX"   T!0  &@              @($&F , >&PO=V]R:W-H965T<R]S:&5E
M=#$R,2YX;6Q02P$"% ,4    " #50)I8R8,IU90"  #_!0  &@
M    @(&<F@, >&PO=V]R:W-H965T<R]S:&5E=#$R,BYX;6Q02P$"% ,4
M" #50)I8]AJ"$Q4)  "W,P  &@              @(%HG0, >&PO=V]R:W-H
M965T<R]S:&5E=#$R,RYX;6Q02P$"% ,4    " #50)I8\X:.N?8"  #T"@
M&@              @(&UI@, >&PO=V]R:W-H965T<R]S:&5E=#$R-"YX;6Q0
M2P$"% ,4    " #50)I8R\EF$B<(   S*P  &@              @('CJ0,
M>&PO=V]R:W-H965T<R]S:&5E=#$R-2YX;6Q02P$"% ,4    " #50)I86&$'
M)Y@#  #9#   &@              @(%"L@, >&PO=V]R:W-H965T<R]S:&5E
M=#$R-BYX;6Q02P$"% ,4    " #50)I8J!RQ"8<,  !C20  &@
M    @($2M@, >&PO=V]R:W-H965T<R]S:&5E=#$R-RYX;6Q02P$"% ,4
M" #50)I8D-Z8<EP#  !M%0  #0              @ '1P@, >&PO<W1Y;&5S
M+GAM;%!+ 0(4 Q0    ( -5 FEB7BKL<P    !,"   +              "
M 5C& P!?<F5L<R\N<F5L<U!+ 0(4 Q0    ( -5 FE@B:5?R\@@  !Q3   /
M              "  4'' P!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4    " #5
M0)I8A>>NP'8#  !^2@  &@              @ %@T , >&PO7W)E;',O=V]R
M:V)O;VLN>&UL+G)E;'-02P$"% ,4    " #50)I8A:-_>*X"  !11P  $P
M            @ $.U , 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08     AP"'
+ $0E  #MU@,    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>143
<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>144
<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>146
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1.u1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>691</ContextCount>
  <ElementCount>660</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>237</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>14</UnitCount>
  <MyReports>
    <Report instance="csiq-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>12601 - Disclosure - NON-CONTROLLING INTERESTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureNonControllingInterests</Role>
      <ShortName>NON-CONTROLLING INTERESTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>12701 - Disclosure - SUBSEQUENT EVENT</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSubsequentEvent</Role>
      <ShortName>SUBSEQUENT EVENT</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>12801 - 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>37</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.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>38</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.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>39</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.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>40</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.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>41</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.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>42</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.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>43</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.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>44</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.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>45</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.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>46</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.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>47</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.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>48</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.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>49</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.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>50</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.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>51</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.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>52</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.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>53</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.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>54</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.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>55</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.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>56</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>32603 - Disclosure - NON-CONTROLLING INTERESTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureNonControllingInterestsTables</Role>
      <ShortName>NON-CONTROLLING INTERESTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.canadiansolar.com/role/DisclosureNonControllingInterests</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.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>58</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.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>59</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.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>60</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.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>61</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Advances from customers and Asset retirement obligation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAdvancesFromCustomersAndAssetRetirementObligationDetails</Role>
      <ShortName>SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Advances from customers and Asset retirement obligation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.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>63</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.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>64</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.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>65</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.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>66</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.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>67</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.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>68</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.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>69</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.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>70</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.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>71</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.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>72</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.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>73</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.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>74</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.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>75</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.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>76</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>40901 - 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-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>40902 - 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-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>40903 - 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-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>40904 - 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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.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-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R118.htm</HtmlFileName>
      <LongName>42503 - Disclosure - SHARE-BASED COMPENSATION - 2020 CSI Solar Employee Incentive Plan (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails</Role>
      <ShortName>SHARE-BASED COMPENSATION - 2020 CSI Solar Employee Incentive Plan (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>118</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R119.htm</HtmlFileName>
      <LongName>42601 - Disclosure - NON-CONTROLLING INTERESTS - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails</Role>
      <ShortName>NON-CONTROLLING INTERESTS - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>119</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R120.htm</HtmlFileName>
      <LongName>42602 - Disclosure - NON-CONTROLLING INTERESTS - Effects of changes in Company's ownership interest in less than wholly owned subsidiaries on equity attributable to Canadian Solar Inc (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails</Role>
      <ShortName>NON-CONTROLLING INTERESTS - Effects of changes in Company's ownership interest in less than wholly owned subsidiaries on equity attributable to Canadian Solar Inc (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>120</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R121.htm</HtmlFileName>
      <LongName>42701 - 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>121</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R122.htm</HtmlFileName>
      <LongName>42801 - 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>122</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R123.htm</HtmlFileName>
      <LongName>42802 - 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>123</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R124.htm</HtmlFileName>
      <LongName>42803 - 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>124</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R125.htm</HtmlFileName>
      <LongName>42804 - 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>125</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R126.htm</HtmlFileName>
      <LongName>42805 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails</Role>
      <ShortName>Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>126</Position>
    </Report>
    <Report instance="csiq-20231231x20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R127.htm</HtmlFileName>
      <LongName>42806 - 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>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">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 4 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:CommonStockSharesOutstanding, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1, us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage -  csiq-20231231x20f.htm 9</Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Not-Referenced] WARN: 10 fact(s) appearing in ix:hidden were not referenced by any -sec-ix-hidden style property: us-gaap:CommitmentsAndContingencies, us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList, us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList, us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList, us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList, us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration -  csiq-20231231x20f.htm 9</Log>
  </Logs>
  <InputFiles>
    <File>csiq-20231231.xsd</File>
    <File>csiq-20231231_cal.xml</File>
    <File>csiq-20231231_def.xml</File>
    <File>csiq-20231231_lab.xml</File>
    <File>csiq-20231231_pre.xml</File>
    <File doctype="20-F" isDefinitelyFs="true" isUsgaap="true" original="csiq-20231231x20f.htm">csiq-20231231x20f.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="1850">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="42">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>149
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "csiq-20231231x20f.htm": {
   "nsprefix": "csiq",
   "nsuri": "http://www.canadiansolar.com/20231231",
   "dts": {
    "schema": {
     "local": [
      "csiq-20231231.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://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "csiq-20231231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "csiq-20231231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "csiq-20231231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "csiq-20231231_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "csiq-20231231x20f.htm"
     ]
    }
   },
   "keyStandard": 479,
   "keyCustom": 181,
   "axisStandard": 42,
   "axisCustom": 0,
   "memberStandard": 98,
   "memberCustom": 119,
   "hidden": {
    "total": 24,
    "http://fasb.org/us-gaap/2023": 20,
    "http://xbrl.sec.gov/dei/2023": 4
   },
   "contextCount": 691,
   "entityCount": 1,
   "segmentCount": 237,
   "elementCount": 1103,
   "unitCount": 14,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 1850,
    "http://xbrl.sec.gov/dei/2023": 42
   },
   "report": {
    "R1": {
     "role": "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation",
     "longName": "00090 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
     "longName": "00100 - Statement - CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:ValueAddedTaxReceivableCurrent",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical",
     "longName": "00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:CommonStockParOrStatedValuePerShare",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R4": {
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations",
     "longName": "00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS",
     "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:SellingAndMarketingExpense",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome",
     "longName": "00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
     "longName": "00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY",
     "shortName": "CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Wr1FYni0tk6Fx0pLPLbCww",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Wr1FYni0tk6Fx0pLPLbCww",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical",
     "longName": "00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)",
     "shortName": "CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:PaymentsOfStockIssuanceCosts",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_HoZ20m-kpkiFH0GLeJ9h6A",
      "name": "us-gaap:StockRepurchasedDuringPeriodShares",
      "unitRef": "Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "link:footnote",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
     "longName": "00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "8",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical",
     "longName": "00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "9",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2019_IAvlFUuH00KKZuwXmlH8CA",
      "name": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities",
     "longName": "10101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES",
     "shortName": "ORGANIZATION AND PRINCIPAL ACTIVITIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:NatureOfOperations",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies",
     "longName": "10201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLosses",
     "longName": "10301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES",
     "shortName": "ALLOWANCE FOR CREDIT LOSSES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:AllowanceForCreditLossesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:AllowanceForCreditLossesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.canadiansolar.com/role/DisclosureInventories",
     "longName": "10401 - Disclosure - INVENTORIES",
     "shortName": "INVENTORIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.canadiansolar.com/role/DisclosureProjectAssets",
     "longName": "10501 - Disclosure - PROJECT ASSETS",
     "shortName": "PROJECT ASSETS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ProjectAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ProjectAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet",
     "longName": "10601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET",
     "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet",
     "longName": "10701 - Disclosure - SOLAR POWER SYSTEMS, NET",
     "shortName": "SOLAR POWER SYSTEMS, NET",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:SolarPowerSystemsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:SolarPowerSystemsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet",
     "longName": "10801 - Disclosure - INTANGIBLE ASSETS, NET",
     "shortName": "INTANGIBLE ASSETS, NET",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurement",
     "longName": "10901 - Disclosure - FAIR VALUE MEASUREMENT",
     "shortName": "FAIR VALUE MEASUREMENT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.canadiansolar.com/role/DisclosureVariableInterestEntities",
     "longName": "11001 - Disclosure - VARIABLE INTEREST ENTITIES",
     "shortName": "VARIABLE INTEREST ENTITIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:VariableInterestEntityDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:VariableInterestEntityDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates",
     "longName": "11101 - Disclosure - INVESTMENTS IN AFFILIATES",
     "shortName": "INVESTMENTS IN AFFILIATES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.canadiansolar.com/role/DisclosureLease",
     "longName": "11201 - Disclosure - LEASE",
     "shortName": "LEASE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowings",
     "longName": "11301 - Disclosure - BORROWINGS",
     "shortName": "BORROWINGS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable",
     "longName": "11401 - Disclosure - SHORT-TERM NOTES PAYABLE",
     "shortName": "SHORT-TERM NOTES PAYABLE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ShortTermNotesPayableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ShortTermNotesPayableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts",
     "longName": "11501 - Disclosure - ACCRUED WARRANTY COSTS",
     "shortName": "ACCRUED WARRANTY COSTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ProductWarrantyDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets",
     "longName": "11601 - Disclosure - RESTRICTED NET ASSETS",
     "shortName": "RESTRICTED NET ASSETS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:RestrictedAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:RestrictedAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.canadiansolar.com/role/DisclosureConvertibleNotes",
     "longName": "11701 - Disclosure - CONVERTIBLE NOTES",
     "shortName": "CONVERTIBLE NOTES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "26",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ConvertibleNotesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ConvertibleNotesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxes",
     "longName": "11801 - Disclosure - INCOME TAXES",
     "shortName": "INCOME TAXES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "27",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.canadiansolar.com/role/DisclosureEarningsPerShare",
     "longName": "11901 - Disclosure - EARNINGS PER SHARE",
     "shortName": "EARNINGS PER SHARE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "28",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions",
     "longName": "12001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS",
     "shortName": "RELATED PARTY BALANCES AND TRANSACTIONS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "29",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies",
     "longName": "12101 - Disclosure - COMMITMENTS AND CONTINGENCIES",
     "shortName": "COMMITMENTS AND CONTINGENCIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "30",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformation",
     "longName": "12201 - Disclosure - SEGMENT INFORMATION",
     "shortName": "SEGMENT INFORMATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "31",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.canadiansolar.com/role/DisclosureMajorCustomers",
     "longName": "12301 - Disclosure - MAJOR CUSTOMERS",
     "shortName": "MAJOR CUSTOMERS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "32",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:MajorCustomersDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:MajorCustomersDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans",
     "longName": "12401 - Disclosure - EMPLOYEE BENEFIT PLANS",
     "shortName": "EMPLOYEE BENEFIT PLANS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "33",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation",
     "longName": "12501 - Disclosure - SHARE-BASED COMPENSATION",
     "shortName": "SHARE-BASED COMPENSATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "34",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.canadiansolar.com/role/DisclosureNonControllingInterests",
     "longName": "12601 - Disclosure - NON-CONTROLLING INTERESTS",
     "shortName": "NON-CONTROLLING INTERESTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "35",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:MinorityInterestDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:MinorityInterestDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.canadiansolar.com/role/DisclosureSubsequentEvent",
     "longName": "12701 - Disclosure - SUBSEQUENT EVENT",
     "shortName": "SUBSEQUENT EVENT",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "36",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI",
     "longName": "12801 - Disclosure - Additional Information - Financial Statement Schedule I",
     "shortName": "Additional Information - Financial Statement Schedule I",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "37",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies",
     "longName": "20202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "38",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables",
     "longName": "30203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "39",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables",
     "longName": "30303 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Tables)",
     "shortName": "ALLOWANCE FOR CREDIT LOSSES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "40",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.canadiansolar.com/role/DisclosureInventoriesTables",
     "longName": "30403 - Disclosure - INVENTORIES (Tables)",
     "shortName": "INVENTORIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "41",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.canadiansolar.com/role/DisclosureProjectAssetsTables",
     "longName": "30503 - Disclosure - PROJECT ASSETS (Tables)",
     "shortName": "PROJECT ASSETS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "42",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ScheduleOfProjectAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ScheduleOfProjectAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables",
     "longName": "30603 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables)",
     "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "43",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables",
     "longName": "30703 - Disclosure - SOLAR POWER SYSTEMS, NET (Tables)",
     "shortName": "SOLAR POWER SYSTEMS, NET (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "44",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables",
     "longName": "30803 - Disclosure - INTANGIBLE ASSETS, NET (Tables)",
     "shortName": "INTANGIBLE ASSETS, NET (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "45",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables",
     "longName": "30903 - Disclosure - FAIR VALUE MEASUREMENT (Tables)",
     "shortName": "FAIR VALUE MEASUREMENT (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "46",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables",
     "longName": "31003 - Disclosure - VARIABLE INTEREST ENTITIES (Tables)",
     "shortName": "VARIABLE INTEREST ENTITIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "47",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfVariableInterestEntitiesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfVariableInterestEntitiesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables",
     "longName": "31103 - Disclosure - INVESTMENTS IN AFFILIATES (Tables)",
     "shortName": "INVESTMENTS IN AFFILIATES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "48",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:EquityMethodInvestmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:EquityMethodInvestmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTables",
     "longName": "31203 - Disclosure - LEASE (Tables)",
     "shortName": "LEASE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "49",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsTables",
     "longName": "31303 - Disclosure - BORROWINGS (Tables)",
     "shortName": "BORROWINGS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "50",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfDebtTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables",
     "longName": "31503 - Disclosure - ACCRUED WARRANTY COSTS (Tables)",
     "shortName": "ACCRUED WARRANTY COSTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "51",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables",
     "longName": "31803 - Disclosure - INCOME TAXES (Tables)",
     "shortName": "INCOME TAXES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "52",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables",
     "longName": "31903 - Disclosure - EARNINGS PER SHARE (Tables)",
     "shortName": "EARNINGS PER SHARE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "53",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables",
     "longName": "32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables)",
     "shortName": "COMMITMENTS AND CONTINGENCIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "54",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_PiE0TfW1AUOutloK5kVM5A",
      "name": "us-gaap:LongTermPurchaseCommitmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_PiE0TfW1AUOutloK5kVM5A",
      "name": "us-gaap:LongTermPurchaseCommitmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables",
     "longName": "32203 - Disclosure - SEGMENT INFORMATION (Tables)",
     "shortName": "SEGMENT INFORMATION (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "55",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables",
     "longName": "32503 - Disclosure - SHARE-BASED COMPENSATION (Tables)",
     "shortName": "SHARE-BASED COMPENSATION (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "56",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsTables",
     "longName": "32603 - Disclosure - NON-CONTROLLING INTERESTS (Tables)",
     "shortName": "NON-CONTROLLING INTERESTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "57",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
     "longName": "40101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES (Details)",
     "shortName": "ORGANIZATION AND PRINCIPAL ACTIVITIES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "us-gaap:NatureOfOperations",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_7_1_2020_To_7_31_2020_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_zQysP7sf10uO6Pe_iWJl7w",
      "name": "us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable",
      "unitRef": "Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-6",
      "ancestors": [
       "p",
       "us-gaap:NatureOfOperations",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
     "longName": "40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_oV_jXQK8i06bID-v5lLp4A",
      "name": "us-gaap:GuaranteeObligationsMaximumExposure",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:ConsolidationPolicyTextBlock",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_oV_jXQK8i06bID-v5lLp4A",
      "name": "us-gaap:GuaranteeObligationsMaximumExposure",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:ConsolidationPolicyTextBlock",
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails",
     "longName": "40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_WaEiPFIdpUigAZIrpWVYZw",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_WaEiPFIdpUigAZIrpWVYZw",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails",
     "longName": "40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Land use rights (Details)",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Land use rights (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_pVgnbbzp9UuDbQs9QBTXEQ",
      "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_pVgnbbzp9UuDbQs9QBTXEQ",
      "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAdvancesFromCustomersAndAssetRetirementObligationDetails",
     "longName": "40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Advances from customers and Asset retirement obligation (Details)",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Advances from customers and Asset retirement obligation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:InvestmentsInAffiliatesImpairmentCharge",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:EquityMethodInvestmentsPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:AssetRetirementObligation",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:AssetRetirementObligationsPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R63": {
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails",
     "longName": "40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ryvoTcfNHUOsDJw-hXCk5Q",
      "name": "csiq:AmountOfPerformanceBasedEnergyIncentives",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ryvoTcfNHUOsDJw-hXCk5Q",
      "name": "csiq:AmountOfPerformanceBasedEnergyIncentives",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
     "longName": "40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Electricity revenue (Details)",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Electricity revenue (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ryvoTcfNHUOsDJw-hXCk5Q",
      "name": "us-gaap:Revenues",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfElectricityRevenueTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R65": {
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails",
     "longName": "40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:RevenueGeneratedFromFinanceLease",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "csiq:RevenueGeneratedFromFinanceLease",
       "csiq:RevenueGeneratedFromFinanceLease",
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails",
     "longName": "40208 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
     "longName": "40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ResearchAndDevelopmentExpense",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2hzThO8Z50ufaUB8VvdJXg",
      "name": "us-gaap:SellingExpense",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R68": {
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
     "longName": "40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R69": {
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails",
     "longName": "40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ProductWarrantyAccrualRateForSalesOfSolarModules",
      "unitRef": "Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ProductWarrantyAccrualRateForSalesOfSolarModules",
      "unitRef": "Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R70": {
     "role": "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails",
     "longName": "40212 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Concentration of credit risk (Details)",
     "shortName": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Concentration of credit risk (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:AdvancesOnInventoryPurchases",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2022_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_LWmYNOXZikut3pvMJqZecg",
      "name": "us-gaap:AdvancesOnInventoryPurchases",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock",
       "us-gaap:ConcentrationRiskCreditRisk",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R71": {
     "role": "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
     "longName": "40301 - Disclosure - ALLOWANCE FOR CREDIT LOSSES (Details)",
     "shortName": "ALLOWANCE FOR CREDIT LOSSES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_1gZwKsyZ3EaG0jinRQY_DA",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
       "us-gaap:AllowanceForCreditLossesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R72": {
     "role": "http://www.canadiansolar.com/role/DisclosureInventoriesDetails",
     "longName": "40401 - Disclosure - INVENTORIES (Details)",
     "shortName": "INVENTORIES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R73": {
     "role": "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
     "longName": "40501 - Disclosure - PROJECT ASSETS (Details)",
     "shortName": "PROJECT ASSETS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfProjectAssetsTableTextBlock",
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfProjectAssetsTableTextBlock",
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R74": {
     "role": "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
     "longName": "40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details)",
     "shortName": "PROPERTY, PLANT AND EQUIPMENT, NET (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R75": {
     "role": "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
     "longName": "40701 - Disclosure - SOLAR POWER SYSTEMS, NET (Details)",
     "shortName": "SOLAR POWER SYSTEMS, NET (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:SolarPowerSystemsGross",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:SolarPowerSystemsGross",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
       "csiq:SolarPowerSystemsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R76": {
     "role": "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
     "longName": "40801 - Disclosure - INTANGIBLE ASSETS, NET (Details)",
     "shortName": "INTANGIBLE ASSETS, NET (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R77": {
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails",
     "longName": "40901 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details)",
     "shortName": "FAIR VALUE MEASUREMENT - Interest rate swap (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_vU9CW6nzk0ajNK46Gs5w1A",
      "name": "us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_vU9CW6nzk0ajNK46Gs5w1A",
      "name": "us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "us-gaap:FairValueDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R78": {
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
     "longName": "40902 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)",
     "shortName": "FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R79": {
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails",
     "longName": "40903 - Disclosure - FAIR VALUE MEASUREMENT - Marketable securities (Details)",
     "shortName": "FAIR VALUE MEASUREMENT - Marketable securities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:MarketableSecuritiesCurrent",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:MarketableSecuritiesCurrent",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R80": {
     "role": "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails",
     "longName": "40904 - Disclosure - FAIR VALUE MEASUREMENT - Carrying value (Details)",
     "shortName": "FAIR VALUE MEASUREMENT - Carrying value (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:AssetImpairmentCharges",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:ConvertibleDebtNoncurrent",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R81": {
     "role": "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
     "longName": "41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details)",
     "shortName": "VARIABLE INTEREST ENTITIES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:Assets",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg",
      "name": "us-gaap:Cash",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfVariableInterestEntitiesTextBlock",
       "us-gaap:VariableInterestEntityDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R82": {
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
     "longName": "41101 - Disclosure - INVESTMENTS IN AFFILIATES (Details)",
     "shortName": "INVESTMENTS IN AFFILIATES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "82",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:EquityMethodInvestments",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_2OinKKZJ7ESWsceFT_2Fkg",
      "name": "us-gaap:EquityMethodInvestments",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:EquityMethodInvestmentsTextBlock",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R83": {
     "role": "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
     "longName": "41102 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (Details)",
     "shortName": "INVESTMENTS IN AFFILIATES - Other investments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "83",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:NumberOfBoardMembersDesignatedByTheAcquiredEntity",
      "unitRef": "Unit_Standard_director_BaaAX3GvrUGwLmMpNrgmZA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:NumberOfBoardMembersDesignatedByTheAcquiredEntity",
      "unitRef": "Unit_Standard_director_BaaAX3GvrUGwLmMpNrgmZA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:EquityMethodInvestmentsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R84": {
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails",
     "longName": "41201 - Disclosure - LEASE - Lease expense (Details)",
     "shortName": "LEASE - Lease expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "84",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R85": {
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails",
     "longName": "41202 - Disclosure - LEASE - Supplement balance sheet information (Details)",
     "shortName": "LEASE - Supplement balance sheet information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "85",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R86": {
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails",
     "longName": "41203 - Disclosure - LEASE - Cash flow (Details)",
     "shortName": "LEASE - Cash flow (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "86",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:FinanceLeaseInterestPaymentOnLiability",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:FinanceLeaseInterestPaymentOnLiability",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R87": {
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails",
     "longName": "41204 - Disclosure - LEASE - Additional information (Details)",
     "shortName": "LEASE - Additional information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "87",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R88": {
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails",
     "longName": "41205 - Disclosure - LEASE - Operating leases - Maturities (Details)",
     "shortName": "LEASE - Operating leases - Maturities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "88",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R89": {
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails",
     "longName": "41206 - Disclosure - LEASE - Operating leases - Gross difference (Details)",
     "shortName": "LEASE - Operating leases - Gross difference (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "89",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R90": {
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails",
     "longName": "41207 - Disclosure - LEASE - Finance leases - Maturities (Details)",
     "shortName": "LEASE - Finance leases - Maturities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "90",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R91": {
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
     "longName": "41208 - Disclosure - LEASE - Finance leases - Gross difference (Details)",
     "shortName": "LEASE - Finance leases - Gross difference (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "91",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:FinanceLeaseLiabilityPaymentsDue",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R92": {
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails",
     "longName": "41209 - Disclosure - LEASE - Total leases - Maturities (Details)",
     "shortName": "LEASE - Total leases - Maturities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "92",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:LesseeLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:LesseeLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R93": {
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails",
     "longName": "41210 - Disclosure - LEASE - Total leases - Gross difference (Details)",
     "shortName": "LEASE - Total leases - Gross difference (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "93",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:LesseeLiabilityPaymentsDue",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:LesseeLiabilityUndiscountedExcessAmount",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R94": {
     "role": "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails",
     "longName": "41211 - Disclosure - LEASE - Total leases - Summary (Details)",
     "shortName": "LEASE - Total leases - Summary (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "94",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:LeaseLiabilityCurrent",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:LeaseLiabilityCurrent",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R95": {
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
     "longName": "41301 - Disclosure - BORROWINGS (Details)",
     "shortName": "BORROWINGS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "95",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:ShortTermBorrowingsOnProjectAssets",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:ShortTermBorrowingsOnProjectAssets",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDebtTableTextBlock",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R96": {
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
     "longName": "41302 - Disclosure - BORROWINGS - Long term (Details)",
     "shortName": "BORROWINGS - Long term (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "96",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R97": {
     "role": "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
     "longName": "41303 - Disclosure - BORROWINGS - Long term narrative and interest expense (Details)",
     "shortName": "BORROWINGS - Long term narrative and interest expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "97",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:InterestCostsCapitalizedProjectAssets",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "csiq:ProjectAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:InterestCostsCapitalizedPropertyPlantAndEquipment",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "csiq:ScheduleOfInterestExpenseTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R98": {
     "role": "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails",
     "longName": "41401 - Disclosure - SHORT-TERM NOTES PAYABLE (Details)",
     "shortName": "SHORT-TERM NOTES PAYABLE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "98",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:ShortTermNotesPayable",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R99": {
     "role": "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails",
     "longName": "41501 - Disclosure - ACCRUED WARRANTY COSTS (Details)",
     "shortName": "ACCRUED WARRANTY COSTS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "99",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA",
      "name": "us-gaap:ProductWarrantyAccrualNoncurrent",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2020_e4l9AB3P7Ue0Md5J7y_79A",
      "name": "us-gaap:ProductWarrantyAccrualNoncurrent",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:ProductWarrantyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R100": {
     "role": "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails",
     "longName": "41601 - Disclosure - RESTRICTED NET ASSETS (Details)",
     "shortName": "RESTRICTED NET ASSETS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "100",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage",
      "unitRef": "Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "us-gaap:RestrictedAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage",
      "unitRef": "Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "us-gaap:RestrictedAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R101": {
     "role": "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails",
     "longName": "41701 - Disclosure - CONVERTIBLE NOTES (Details)",
     "shortName": "CONVERTIBLE NOTES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "101",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:AmortizationOfFinancingCosts",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "csiq:ConvertibleNotesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:AmortizationOfFinancingCosts",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "csiq:ConvertibleNotesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R102": {
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
     "longName": "41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details)",
     "shortName": "INCOME TAXES - Provision for income taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "102",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R103": {
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
     "longName": "41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (Details)",
     "shortName": "INCOME TAXES - Domestic federal statutory tax rates (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "103",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate",
      "unitRef": "Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R104": {
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
     "longName": "41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details)",
     "shortName": "INCOME TAXES - Deferred tax assets and liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "104",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R105": {
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails",
     "longName": "41804 - Disclosure - INCOME TAXES - Reconciliation (Details)",
     "shortName": "INCOME TAXES - Reconciliation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "105",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate",
      "unitRef": "Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent",
      "unitRef": "Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R106": {
     "role": "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails",
     "longName": "41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (Details)",
     "shortName": "INCOME TAXES - Movement of the valuation allowance (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "106",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA",
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_9GK8X_EqXEuN1Tbf6zPcJA",
      "name": "csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SummaryOfValuationAllowanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R107": {
     "role": "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
     "longName": "41901 - Disclosure - EARNINGS PER SHARE (Details)",
     "shortName": "EARNINGS PER SHARE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "107",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R108": {
     "role": "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
     "longName": "42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (Details)",
     "shortName": "RELATED PARTY BALANCES AND TRANSACTIONS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "108",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrent",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1mIJGj0-dUi9k9oQMKJNtQ",
      "name": "us-gaap:Revenues",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R109": {
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
     "longName": "42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (Details)",
     "shortName": "COMMITMENTS AND CONTINGENCIES - Commitments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "109",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g",
      "name": "us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g",
      "name": "us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R110": {
     "role": "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails",
     "longName": "42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details)",
     "shortName": "COMMITMENTS AND CONTINGENCIES - Contingencies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "110",
     "firstAnchor": {
      "contextRef": "Duration_4_1_2020_To_4_30_2020_BsJ8sFNrzUOWhL7oL8shQQ",
      "name": "csiq:NumberOfMonocrystallineSiliconPhotovoltaicCells",
      "unitRef": "Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_4_1_2020_To_4_30_2020_BsJ8sFNrzUOWhL7oL8shQQ",
      "name": "csiq:NumberOfMonocrystallineSiliconPhotovoltaicCells",
      "unitRef": "Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R111": {
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails",
     "longName": "42201 - Disclosure - SEGMENT INFORMATION (Narrative) (Details)",
     "shortName": "SEGMENT INFORMATION (Narrative) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "111",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "Unit_Standard_segment_uP6_O8BSvki0TrrpY9QbPQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2ypg_nqbgkuBccdVNZrv1g",
      "name": "csiq:InvestmentsInAffiliatesImpairmentCharge",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R112": {
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
     "longName": "42202 - Disclosure - SEGMENT INFORMATION (Details)",
     "shortName": "SEGMENT INFORMATION (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "112",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "Unit_Standard_segment_uP6_O8BSvki0TrrpY9QbPQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zinVFX3aokanfDZRgZkXQw",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R113": {
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails",
     "longName": "42203 - Disclosure - SEGMENT INFORMATION - Different geographic locations (Details)",
     "shortName": "SEGMENT INFORMATION - Different geographic locations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "113",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R114": {
     "role": "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
     "longName": "42204 - Disclosure - SEGMENT INFORMATION - Each product or service (Details)",
     "shortName": "SEGMENT INFORMATION - Each product or service (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "114",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_XFVXdi_3pkW1xBUrDjNZmQ",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R115": {
     "role": "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails",
     "longName": "42401 - Disclosure - EMPLOYEE BENEFIT PLANS (Details)",
     "shortName": "EMPLOYEE BENEFIT PLANS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "115",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA",
      "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent",
      "unitRef": "Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA",
      "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent",
      "unitRef": "Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R116": {
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
     "longName": "42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (Details)",
     "shortName": "SHARE-BASED COMPENSATION - Options to Employees (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "116",
     "firstAnchor": {
      "contextRef": "As_Of_9_30_2010_KL-w7vCxKk-QXlF6lReWvA",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "unitRef": "Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_9_30_2010_KL-w7vCxKk-QXlF6lReWvA",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "unitRef": "Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R117": {
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails",
     "longName": "42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (Details)",
     "shortName": "SHARE-BASED COMPENSATION - RSUs to Employees (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "117",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "unitRef": "Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_6jX0Mt24JUait6k6xuOsRw",
      "name": "csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R118": {
     "role": "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails",
     "longName": "42503 - Disclosure - SHARE-BASED COMPENSATION - 2020 CSI Solar Employee Incentive Plan (Details)",
     "shortName": "SHARE-BASED COMPENSATION - 2020 CSI Solar Employee Incentive Plan (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "118",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_-7puMFjF0UeoyTLKOB5HkA",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R119": {
     "role": "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails",
     "longName": "42601 - Disclosure - NON-CONTROLLING INTERESTS - Additional Information (Details)",
     "shortName": "NON-CONTROLLING INTERESTS - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "119",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA",
      "name": "us-gaap:StockIssuedDuringPeriodValueNewIssues",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_jd9ujE6WO0GFzXPfV9C9cQ",
      "name": "us-gaap:StockIssuedDuringPeriodValueNewIssues",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R120": {
     "role": "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails",
     "longName": "42602 - Disclosure - NON-CONTROLLING INTERESTS - Effects of changes in Company's ownership interest in less than wholly owned subsidiaries on equity attributable to Canadian Solar Inc (Details)",
     "shortName": "NON-CONTROLLING INTERESTS - Effects of changes in Company's ownership interest in less than wholly owned subsidiaries on equity attributable to Canadian Solar Inc (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "120",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_C1FRS_eBOECAWeoJD417ug",
      "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock",
       "us-gaap:MinorityInterestDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R121": {
     "role": "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails",
     "longName": "42701 - Disclosure - SUBSEQUENT EVENT (Details)",
     "shortName": "SUBSEQUENT EVENT (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "121",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2024_To_1_31_2024_srt_ConsolidatedEntitiesAxis_csiq_RecurrentEnergyLlcMember_srt_CounterpartyNameAxis_csiq_BlackRockMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_lTuv_E6u7E-x21DkFE52ug",
      "name": "csiq:AmountOfInvestmentCommitmentInExchangeOfVotingRights",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-6",
      "ancestors": [
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2024_To_1_31_2024_srt_ConsolidatedEntitiesAxis_csiq_RecurrentEnergyLlcMember_srt_CounterpartyNameAxis_csiq_BlackRockMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_lTuv_E6u7E-x21DkFE52ug",
      "name": "csiq:AmountOfInvestmentCommitmentInExchangeOfVotingRights",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-6",
      "ancestors": [
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R122": {
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails",
     "longName": "42801 - Disclosure - Financial Statement Schedule I (Details)",
     "shortName": "Financial Statement Schedule I (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "122",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:RestrictedAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
      "unitRef": "Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R123": {
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
     "longName": "42802 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details)",
     "shortName": "Financial Statement Schedule I - BALANCE SHEETS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "123",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R124": {
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
     "longName": "42803 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)",
     "shortName": "Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "124",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:CommonStockParOrStatedValuePerShare",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:CommonStockParOrStatedValuePerShare",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R125": {
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
     "longName": "42804 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)",
     "shortName": "Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "125",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R126": {
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails",
     "longName": "42805 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (Details)",
     "shortName": "Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "126",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ",
      "name": "us-gaap:OtherComprehensiveIncomeLossNetOfTax",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    },
    "R127": {
     "role": "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
     "longName": "42806 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)",
     "shortName": "Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "127",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "csiq-20231231x20f.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "country_AE": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "AE",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "U.A.E"
       }
      }
     },
     "auth_ref": []
    },
    "country_AR": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "AR",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Argentina"
       }
      }
     },
     "auth_ref": []
    },
    "country_AU": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "AU",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Australia"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsNotesAndLoansReceivableLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsNotesAndLoansReceivableLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts, Notes, Loans and Financing Receivable [Line Items]",
        "terseLabel": "Allowance for credit losses",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableOtherCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableOtherCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Payable, Other, Current",
        "verboseLabel": "Other payables",
        "documentation": "Amount of obligations incurred classified as other, payable within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "us-gaap_AccountsPayableTradeCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableTradeCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Payable",
        "verboseLabel": "Accounts payable",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r39"
     ]
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "terseLabel": "Schedule of allowances for credit losses",
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r1087"
     ]
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableGrossCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, before Allowance for Credit Loss, Current",
        "terseLabel": "Receivable, gross",
        "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."
       }
      }
     },
     "auth_ref": [
      "r280",
      "r401",
      "r402",
      "r976"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable trade",
        "totalLabel": "Receivable, Net",
        "verboseLabel": "Accounts receivable trade, net",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r401",
      "r402"
     ]
    },
    "us-gaap_AccretionExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccretionExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Assumptions, Exercise Price",
        "terseLabel": "Accretion of convertible notes",
        "verboseLabel": "Accretion of green bonds and convertible notes",
        "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."
       }
      }
     },
     "auth_ref": [
      "r991",
      "r1091"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "parentTag": "csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedLabel": "Accumulated depreciation",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r275",
      "r817"
     ]
    },
    "csiq_AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails": {
       "parentTag": "csiq_SolarPowerSystems",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r53",
      "r176",
      "r281",
      "r812",
      "r852",
      "r853"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss)",
        "terseLabel": "Accumulated Other Comprehensive Income",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r23",
      "r53",
      "r710",
      "r713",
      "r761",
      "r848",
      "r849",
      "r1060",
      "r1061",
      "r1062",
      "r1079",
      "r1080",
      "r1081"
     ]
    },
    "csiq_AdditionalAmountDrawnOfUnderBorrowing": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AdditionalAmountDrawnOfUnderBorrowing",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital",
        "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."
       }
      }
     },
     "auth_ref": [
      "r168"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital",
        "terseLabel": "Additional Paid-in Capital",
        "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."
       }
      }
     },
     "auth_ref": [
      "r655",
      "r656",
      "r657",
      "r865",
      "r1079",
      "r1080",
      "r1081",
      "r1150",
      "r1176"
     ]
    },
    "dei_AddressTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AddressTypeDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Address Type [Domain]",
        "documentation": "An entity may have several addresses for different purposes and this domain represents all such types."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition",
        "terseLabel": "Share-based compensation",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r105",
      "r106",
      "r616"
     ]
    },
    "csiq_AdvancesFromCustomersPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AdvancesFromCustomersPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for advances from customers.",
        "label": "Advances From Customers [Policy Text Block]",
        "terseLabel": "Advances from customers"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdvancesOnInventoryPurchases": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdvancesOnInventoryPurchases",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advances to suppliers",
        "netLabel": "Advances to suppliers",
        "verboseLabel": "Advances to suppliers, net",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1058"
     ]
    },
    "csiq_AdvancesOnInventoryPurchasesNonCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AdvancesOnInventoryPurchasesNonCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_AdvancesToSuppliersPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AdvancesToSuppliersPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for advances to suppliers.",
        "label": "Advances to Suppliers [Policy Text Block]",
        "terseLabel": "Advances to suppliers"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Advances to Suppliers, Warranty Insurance Receivable and Other Receivable.",
        "label": "Advances to Suppliers, Warranty Insurance Receivable and Other Receivable [Member]",
        "terseLabel": "Advances to suppliers, warranty insurance receivable and other receivable"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allocated Share-based Compensation Expense",
        "terseLabel": "Recognized compensation expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r650",
      "r662"
     ]
    },
    "csiq_AllowanceForAdvancesToSuppliersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AllowanceForAdvancesToSuppliersMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllowanceForCreditLossMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForCreditLossMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowances for accounts receivable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1078"
     ]
    },
    "us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for Credit Losses on Financing Receivables [Table Text Block]",
        "terseLabel": "Schedule of allowances",
        "documentation": "Tabular disclosure of allowance for credit loss on financing receivable."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r1087"
     ]
    },
    "us-gaap_AllowanceForCreditLossesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForCreditLossesTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLosses"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for Credit Losses [Text Block]",
        "terseLabel": "ALLOWANCE FOR CREDIT LOSSES",
        "documentation": "The entire disclosure for allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r86"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "terseLabel": "Allowance for credit losses",
        "documentation": "Amount of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r282",
      "r403",
      "r420",
      "r423",
      "r425",
      "r1170"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r282",
      "r403",
      "r420"
     ]
    },
    "csiq_AllowanceForOtherReceivablesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AllowanceForOtherReceivablesMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the valuation allowance for other receivables that are expected to be uncollectible.",
        "label": "Allowances for other receivables"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_AllowanceForWarrantyInsuranceReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AllowanceForWarrantyInsuranceReceivableMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Warranty insurance receivable.",
        "label": "Allowance For Warranty Insurance Receivable [Member]",
        "terseLabel": "Warranty insurance receivable net"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_AmericaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AmericaMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the geographic area of America, in which the entity operates.",
        "label": "The Americas"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfFinancingCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of Financing Costs",
        "terseLabel": "Amortization of financing costs",
        "documentation": "Amount of amortization expense attributable to debt issuance costs."
       }
      }
     },
     "auth_ref": [
      "r181",
      "r519",
      "r739",
      "r1068"
     ]
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of Intangible Assets",
        "terseLabel": "Amortization expense",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r89",
      "r92"
     ]
    },
    "csiq_AmountOfDevelopmentLoan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AmountOfDevelopmentLoan",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of development loan.",
        "label": "Amount Of Development Loan",
        "terseLabel": "Amount of development loan"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_AmountOfInvestmentCommitmentInExchangeOfVotingRights": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AmountOfInvestmentCommitmentInExchangeOfVotingRights",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of investment committed in exchange of voting rights of the company.",
        "label": "Amount Of Investment Commitment In Exchange of Voting Rights",
        "terseLabel": "Invest amount"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_AmountOfPerformanceBasedEnergyIncentives": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AmountOfPerformanceBasedEnergyIncentives",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails",
      "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Amount of restricted net assets of consolidated and unconsolidated subsidiaries as of the end of the most recently completed fiscal year."
       }
      }
     },
     "auth_ref": [
      "r319"
     ]
    },
    "csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r360"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r69"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesNameDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities, Name [Domain]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r69"
     ]
    },
    "srt_AsiaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "AsiaMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asia and other regions"
       }
      }
     },
     "auth_ref": [
      "r1178",
      "r1179",
      "r1180",
      "r1181"
     ]
    },
    "us-gaap_AssetImpairmentCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetImpairmentCharges",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAdvancesFromCustomersAndAssetRetirementObligationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Impairment Charges",
        "terseLabel": "Impairment charges for long-lived assets",
        "verboseLabel": "Impairment loss of property, plant and equipment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r93"
     ]
    },
    "csiq_AssetManagementServiceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AssetManagementServiceMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information relating to asset management service.",
        "label": "Asset management service"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetPledgedAsCollateralWithoutRightMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetPledgedAsCollateralWithoutRightMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Pledged as Collateral without Right [Member]",
        "documentation": "Asset pledged as collateral for which secured party (transferee) does not have right to sell or repledge by contract or custom."
       }
      }
     },
     "auth_ref": [
      "r700",
      "r775",
      "r777"
     ]
    },
    "us-gaap_AssetRetirementObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetRetirementObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAdvancesFromCustomersAndAssetRetirementObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Retirement Obligation",
        "terseLabel": "Asset retirement obligation",
        "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."
       }
      }
     },
     "auth_ref": [
      "r459",
      "r460"
     ]
    },
    "us-gaap_AssetRetirementObligationsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetRetirementObligationsPolicy",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Retirement Obligations, Policy [Policy Text Block]",
        "terseLabel": "Assets retirement obligation",
        "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."
       }
      }
     },
     "auth_ref": [
      "r458"
     ]
    },
    "us-gaap_AssetUnderConstructionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetUnderConstructionMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Solar power systems under construction",
        "documentation": "Asset in process of being built."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total assets",
        "totalLabel": "TOTAL ASSETS",
        "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."
       }
      }
     },
     "auth_ref": [
      "r232",
      "r278",
      "r320",
      "r370",
      "r385",
      "r391",
      "r413",
      "r484",
      "r485",
      "r487",
      "r488",
      "r489",
      "r491",
      "r493",
      "r495",
      "r496",
      "r700",
      "r704",
      "r720",
      "r807",
      "r897",
      "r1016",
      "r1031",
      "r1104",
      "r1105",
      "r1159"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_AssetsAcquisitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AssetsAcquisitionPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for assets acquisition.",
        "label": "Assets Acquisition [Policy Text Block]",
        "terseLabel": "Assets acquisition"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsAndLiabilitiesLesseeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAndLiabilitiesLesseeAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets and Liabilities, Lessee [Abstract]",
        "terseLabel": "Leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total current assets",
        "totalLabel": "Total current assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r270",
      "r285",
      "r320",
      "r413",
      "r484",
      "r485",
      "r487",
      "r488",
      "r489",
      "r491",
      "r493",
      "r495",
      "r496",
      "r700",
      "r704",
      "r720",
      "r1016",
      "r1104",
      "r1105",
      "r1159"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_AssetsHeldForSaleNumberOfSolarPowerPlantsSold": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AssetsHeldForSaleNumberOfSolarPowerPlantsSold",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_AssetsLesseeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AssetsLesseeAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "NA",
        "label": "Assets, Lessee [Abstract]",
        "terseLabel": "Assets:"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r1036",
      "r1037",
      "r1038"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLocation",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r1036",
      "r1037",
      "r1038"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorName",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r1036",
      "r1037",
      "r1038"
     ]
    },
    "csiq_Aurora01GkMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "Aurora01GkMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Aurora 01 GK.",
        "label": "Aurora 01 GK [Member]",
        "terseLabel": "Aurora 01 GK"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AvailableForSaleSecuritiesDebtSecuritiesCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Current",
        "terseLabel": "Carried at fair value",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), classified as current."
       }
      }
     },
     "auth_ref": [
      "r404",
      "r434"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r620",
      "r621",
      "r622",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648"
     ]
    },
    "csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "AzumaKofujiDaiichiHatsudenshoG.k.Member",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Azuma Kofuji Daiichi Hatsudensho G.K. [Member]",
        "label": "Azuma Kofuji Daiichi Hatsudensho G.K."
       }
      }
     },
     "auth_ref": []
    },
    "country_BR": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "BR",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Brazil"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Axis]",
        "documentation": "Information by location on balance sheet (statement of financial position)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BalanceSheetLocationDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Domain]",
        "documentation": "Location in the balance sheet (statement of financial position)."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r135"
     ]
    },
    "csiq_BankBorrowingsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "BankBorrowingsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to borrowings from bank.",
        "label": "Bank borrowings"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "terseLabel": "Basis of presentation",
        "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)."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_BatteryStorageProductsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "BatteryStorageProductsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to battery storage products.",
        "label": "Battery storage products"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_BatteryStorageSolutionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "BatteryStorageSolutionsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Battery storage solutions.",
        "label": "Battery storage solutions"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_BifacialModuleAndDoubleGlassModuleMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "BifacialModuleAndDoubleGlassModuleMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_BlackRockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "BlackRockMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Black Rock.",
        "label": "Black Rock [Member]",
        "terseLabel": "BlackRock"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_BorrowingsAssumedByThirdPartiesWithProjectAssetSales": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "BorrowingsAssumedByThirdPartiesWithProjectAssetSales",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of borrowings assumed by third parties with project asset sales.",
        "label": "Borrowings Assumed By Third Parties With Project Asset Sales",
        "terseLabel": "Borrowings assumed by third parties with project asset sales"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_BrazilianInvestorMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "BrazilianInvestorMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Brazilian investors.",
        "label": "Brazilian Investor [Member]",
        "terseLabel": "Brazilian Investor"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_BrazilianSubsidiariesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "BrazilianSubsidiariesMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Brazilian subsidiaries.",
        "label": "Brazilian subsidiaries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BuildingMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Buildings",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationConsiderationTransferred1",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Consideration Transferred",
        "verboseLabel": "Aggregate consideration transferred",
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r3",
      "r17"
     ]
    },
    "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Consideration Transferred, Equity Interests Issued and Issuable",
        "verboseLabel": "Aggregated value of consideration transferred",
        "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r3"
     ]
    },
    "us-gaap_BusinessCombinationsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationsPolicy",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combinations Policy [Policy Text Block]",
        "terseLabel": "Business combination",
        "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."
       }
      }
     },
     "auth_ref": [
      "r112"
     ]
    },
    "dei_BusinessContactMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "BusinessContactMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Contact",
        "documentation": "Business contact for the entity"
       }
      }
     },
     "auth_ref": [
      "r1037",
      "r1038"
     ]
    },
    "country_CA": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "CA",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Canada"
       }
      }
     },
     "auth_ref": []
    },
    "country_CL": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "CL",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CHILE",
        "terseLabel": "Chile"
       }
      }
     },
     "auth_ref": []
    },
    "country_CN": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "CN",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PRC"
       }
      }
     },
     "auth_ref": []
    },
    "country_CO": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "CO",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "COLOMBIA",
        "terseLabel": "Colombia"
       }
      }
     },
     "auth_ref": []
    },
    "country_CZ": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "CZ",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Czech"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianInfrastructureFundMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianInfrastructureFundMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to a Canadian infrastructure fund.",
        "label": "Canadian Infrastructure Fund [Member]",
        "terseLabel": "Canadian infrastructure fund"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "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."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarEMEAGmbHMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarEMEAGmbHMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar EMEA GmbH.",
        "label": "Canadian Solar EMEA GmbH"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarEmployeesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarEmployeesMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Canadian Solar Employees [Member].",
        "label": "Canadian Solar Employees"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarInc.Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarInc.Member",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information relating to Canadian Solar Inc.",
        "label": "Canadian Solar Inc. [Member]",
        "terseLabel": "Canadian Solar Inc"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarInfrastructureFundIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarInfrastructureFundIncMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "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."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarInternationalLtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarInternationalLtdMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar International Ltd.",
        "label": "HKSI",
        "verboseLabel": "Canadian Solar International Ltd."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarJapanKKMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarJapanKKMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Japan K.K.",
        "label": "Canadian Solar Japan K.K."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarManufacturingThailandCo.Ltd.Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarManufacturingThailandCo.Ltd.Member",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Manufacturing (Thailand) Co., Ltd.",
        "label": "Canadian Solar Manufacturing (Thailand) Co., Ltd."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Canadian Solar.",
        "label": "Canadian Solar"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarNetherlandCooperativeUaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarNetherlandCooperativeUaMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Canadian Solar Netherland Cooperative Ua Member",
        "label": "Canadian Solar Netherlands Cooperative U.A.",
        "terseLabel": "Canadian Solar Netherlands Cooperative U.A."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarProjectKKMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarProjectKKMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Project K.K.",
        "label": "Canadian Solar Project K.K."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarSolutionsIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarSolutionsIncMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar Solutions Inc.",
        "label": "Canadian Solar Solutions Inc."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarSpainSociedadLimitadaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarSpainSociedadLimitadaMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining toCanadian Solar Spain, Sociedad Limitada [Member]",
        "label": "Canadian Solar Spain, Sociedad Limitada"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarSsesUsIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarSsesUsIncMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar SSES (US) Inc",
        "label": "Canadian Solar SSES (US) Inc"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarSunenergyJiaxingCo.LtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarSunenergyJiaxingCo.LtdMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Canadian Solar Sunenergy (Jiaxing) Co. Ltd",
        "label": "Canadian Solar Sunenergy (Jiaxing) Co. Ltd"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CanadianSolarUSAIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CanadianSolarUSAIncMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Canadian Solar (USA) Inc.",
        "label": "Canadian Solar (USA) Inc."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital Expenditures Incurred but Not yet Paid",
        "terseLabel": "Property, plant and equipment costs included in other payables",
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r67",
      "r68"
     ]
    },
    "us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Project [Axis].",
        "documentation": "Information by project."
       }
      }
     },
     "auth_ref": [
      "r227",
      "r228",
      "r229"
     ]
    },
    "us-gaap_Cash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Cash",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r246",
      "r810",
      "r866",
      "r892",
      "r1016",
      "r1031",
      "r1052"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and cash equivalents",
        "terseLabel": "Cash and cash equivalents",
        "verboseLabel": "Cash and cash equivalents",
        "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."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r273",
      "r974"
     ]
    },
    "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "Cash and cash equivalents and restricted cash",
        "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."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r230"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r192",
      "r317"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, Period Increase (Decrease)",
        "totalLabel": "Net increase (decrease) in cash, cash equivalents and restricted cash",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r192"
     ]
    },
    "csiq_CertainSolarModuleMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CertainSolarModuleMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to certain solar module.",
        "label": "Certain solar module"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ChangeInAccountingEstimateByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ChangeInAccountingEstimateByTypeAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in Accounting Estimate by Type [Axis]",
        "documentation": "Information by type of change in accounting estimate."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r341"
     ]
    },
    "us-gaap_ChangeInAccountingEstimateTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ChangeInAccountingEstimateTypeDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in Accounting Estimate, Type [Domain]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r341"
     ]
    },
    "srt_ChiefExecutiveOfficerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ChiefExecutiveOfficerMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dr. Shawn Qu"
       }
      }
     },
     "auth_ref": [
      "r1084"
     ]
    },
    "csiq_ChineseCommercialBanksMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ChineseCommercialBanksMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the Chinese Commercial Banks.",
        "label": "Chinese Commercial Banks"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ChineseInvestorMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ChineseInvestorMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information relating to Chinese Investors.",
        "label": "Chinese Investor [Member]",
        "terseLabel": "Chinese investor"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies.",
        "terseLabel": "Commitments and contingencies (Note 21)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r48",
      "r155",
      "r809",
      "r883"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "COMMITMENTS AND CONTINGENCIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "COMMITMENTS AND CONTINGENCIES",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r205",
      "r463",
      "r464",
      "r955",
      "r1092"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies, Policy [Policy Text Block]",
        "terseLabel": "Contingencies",
        "documentation": "Disclosure of accounting policy for commitments and contingencies, which may include policies for recognizing and measuring loss and gain contingencies."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r956"
     ]
    },
    "us-gaap_CommodityContractMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommodityContractMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commodity hedge",
        "documentation": "Derivative instrument whose primary underlying risk is tied to commodity prices."
       }
      }
     },
     "auth_ref": [
      "r1005",
      "r1014"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Shares",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r1019",
      "r1020",
      "r1021",
      "r1023",
      "r1024",
      "r1025",
      "r1028",
      "r1079",
      "r1080",
      "r1150",
      "r1173",
      "r1176"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common share, par value (in dollars per share)",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r167"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Issued",
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)",
        "terseLabel": "Common shares, shares issued (in shares)",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r167"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common shares, shares outstanding (in shares)",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r167",
      "r884",
      "r903",
      "r1176",
      "r1177"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Value, Issued",
        "terseLabel": "Common shares - no par value: unlimited authorized shares, 64,506,055 and 66,158,741 shares issued and outstanding at December 31, 2022 and 2023, 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",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r811",
      "r1016"
     ]
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "EMPLOYEE BENEFIT PLANS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Deferred Tax Assets and Liabilities [Abstract]",
        "terseLabel": "Principal components of deferred income tax assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComponentsOfIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Total income tax expense"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive income attributable to Canadian Solar Inc.",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r294",
      "r296",
      "r306",
      "r800",
      "r826"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive (Income) Loss, Net of Tax, Attributable to Noncontrolling Interest",
        "terseLabel": "Less: comprehensive income attributable to non-controlling interests",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r116",
      "r126",
      "r294",
      "r296",
      "r305",
      "r799",
      "r825"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest",
        "totalLabel": "Comprehensive income",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r223",
      "r294",
      "r296",
      "r304",
      "r798",
      "r824"
     ]
    },
    "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomePolicyPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income, Policy [Policy Text Block]",
        "terseLabel": "Comprehensive income",
        "documentation": "Disclosure of accounting policy for comprehensive income."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComputerSoftwareIntangibleAssetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComputerSoftwareIntangibleAssetMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Computer software",
        "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."
       }
      }
     },
     "auth_ref": [
      "r973",
      "r1088",
      "r1089"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r73",
      "r75",
      "r143",
      "r144",
      "r399",
      "r954",
      "r1047"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentration of credit risk",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r158",
      "r252"
     ]
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Line Items]",
        "terseLabel": "Concentration of credit risk",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r954"
     ]
    },
    "us-gaap_ConcentrationRiskTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk [Table]",
        "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r73",
      "r75",
      "r76",
      "r143",
      "r226",
      "r954"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Domain]",
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r73",
      "r75",
      "r143",
      "r144",
      "r399",
      "r954"
     ]
    },
    "srt_CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "CondensedFinancialInformationOfParentCompanyOnlyDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Information - Financial Statement Schedule I"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Financial Information of Parent Company Only Disclosure [Text Block]",
        "terseLabel": "Additional Information - Financial Statement Schedule I",
        "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."
       }
      }
     },
     "auth_ref": [
      "r267",
      "r327",
      "r1045"
     ]
    },
    "srt_CondensedFinancialStatementsCaptionsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "CondensedFinancialStatementsCaptionsLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Financial Statements, Captions [Line Items]",
        "terseLabel": "Condensed Financial Statements"
       }
      }
     },
     "auth_ref": [
      "r327",
      "r1045"
     ]
    },
    "srt_ConsolidatedEntitiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidatedEntitiesAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Entities [Axis]"
       }
      }
     },
     "auth_ref": [
      "r327",
      "r700",
      "r701",
      "r704",
      "r705",
      "r770",
      "r966",
      "r1103",
      "r1106",
      "r1107"
     ]
    },
    "srt_ConsolidatedEntitiesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidatedEntitiesDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Entities [Domain]"
       }
      }
     },
     "auth_ref": [
      "r327",
      "r700",
      "r701",
      "r704",
      "r705",
      "r770",
      "r966",
      "r1103",
      "r1106",
      "r1107"
     ]
    },
    "srt_ConsolidationItemsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidationItemsAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "auth_ref": [
      "r327",
      "r372",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r389",
      "r393",
      "r484",
      "r485",
      "r486",
      "r487",
      "r489",
      "r490",
      "r492",
      "r494",
      "r495",
      "r1104",
      "r1105"
     ]
    },
    "srt_ConsolidationItemsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidationItemsDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Domain]"
       }
      }
     },
     "auth_ref": [
      "r327",
      "r372",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r389",
      "r393",
      "r484",
      "r485",
      "r486",
      "r487",
      "r489",
      "r490",
      "r492",
      "r494",
      "r495",
      "r1104",
      "r1105"
     ]
    },
    "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Change Due to Net Income Attributable to Parent and Effects of Changes, Net",
        "totalLabel": "Change from net income attributable to Canadian Solar Inc. and transfers from non-controlling interests",
        "documentation": "This element represents the total net income attributable to the parent for the period and the effect of net changes during the period impacting the parent's ownership interest in a subsidiary as it relates to the total (consolidated) equity attributable to the parent. The changes to the parent's ownership interest in a subsidiary represented by this element did not result in a deconsolidation of the subsidiary from the consolidated financial statements."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r101",
      "r127"
     ]
    },
    "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails": {
       "parentTag": "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Changes, Net",
        "terseLabel": "Net transfers from non-controlling interests",
        "documentation": "The increase (decrease) during the period impacting the parent's ownership interest in a subsidiary as it relates to the total (consolidated) equity attributable to the parent. The changes to the parent's ownership interest in a subsidiary represented by this element did not arise in a deconsolidation of the subsidiary from the consolidated financial statements."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r101",
      "r127"
     ]
    },
    "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNetAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Changes, Net [Abstract]",
        "terseLabel": "Transfers from the non-controlling interests:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Line Items]",
        "terseLabel": "NON-CONTROLLING INTERESTS",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Table]",
        "documentation": "Summarization of information required and determined to be disclosed concerning the effects of any changes in a parent's ownership interest in a subsidiary on the equity attributable to the parent which may have occurred during the period. The changes represented by this element did not result in the deconsolidation of the subsidiary."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r127"
     ]
    },
    "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Less than Wholly Owned Subsidiary, Parent Ownership Interest, Effects of Changes, Net [Table Text Block]",
        "terseLabel": "Schedule of effects of changes in Company's ownership interest in less than wholly owned subsidiaries on equity attributable to Canadian Solar Inc",
        "documentation": "The tabular disclosure of the effects of any changes in a parent's ownership interest in a subsidiary on the equity attributable to the parent if the ownership interests in a subsidiary changes during the period. The changes represented by this element did not result in the deconsolidation of the subsidiary."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r127"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Policy [Policy Text Block]",
        "terseLabel": "Basis of consolidation",
        "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."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r983"
     ]
    },
    "us-gaap_ConstructionInProgressGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConstructionInProgressGross",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Construction in Progress, Gross",
        "terseLabel": "Construction in process",
        "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."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "dei_ContactPersonnelName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "ContactPersonnelName",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contact Personnel Name",
        "documentation": "Name of contact personnel"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ContractLiabilitiesOtherCurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ContractLiabilitiesOtherCurrentLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other current liabilities relating to contract liabilities.",
        "label": "Contract Liabilities, Other Current Liabilities",
        "terseLabel": "Other current liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ContractLiabilitiesOtherNonCurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ContractLiabilitiesOtherNonCurrentLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of other non-current liabilities relating to contract liabilities.",
        "label": "Contract Liabilities, Other Non-current Liabilities",
        "terseLabel": "Other non-current liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Asset and Liability [Table Text Block]",
        "terseLabel": "Schedule of contract assets and contract liabilities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1110"
     ]
    },
    "us-gaap_ContractWithCustomerAssetNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetNetAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Asset, Net [Abstract]",
        "terseLabel": "Contract Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability",
        "terseLabel": "Contract liability",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r528",
      "r529",
      "r540"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability [Abstract]",
        "terseLabel": "Contract Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAdvancesFromCustomersAndAssetRetirementObligationDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract With Customer Liability, Current",
        "terseLabel": "Advances from customers",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r528",
      "r529",
      "r540"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAdvancesFromCustomersAndAssetRetirementObligationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability, Noncurrent",
        "terseLabel": "Contract with Customer, Liability, Noncurrent",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r528",
      "r529",
      "r540"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "terseLabel": "Revenue recognized from beginning balance of contract liabilities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r541"
     ]
    },
    "us-gaap_ConvertibleDebtMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConvertibleDebtMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Debt",
        "terseLabel": "Convertible Debt",
        "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."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r498",
      "r499",
      "r509",
      "r510",
      "r511",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r992",
      "r993",
      "r994",
      "r995",
      "r996"
     ]
    },
    "us-gaap_ConvertibleDebtNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConvertibleDebtNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Debt, Noncurrent",
        "verboseLabel": "Convertible debt noncurrent",
        "documentation": "Carrying amount of long-term convertible debt as of the balance sheet date, net of the amount due in the next twelve months or greater than the normal operating cycle, if longer. The debt is convertible into another form of financial instrument, typically the entity's common stock."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "csiq_ConvertibleNotesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ConvertibleNotesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "No definition available.",
        "label": "CONVERTIBLE NOTES"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ConvertibleNotesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ConvertibleNotesDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotes"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConvertibleNotesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConvertibleNotesPayable",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Notes Payable",
        "terseLabel": "Convertible notes",
        "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."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r235",
      "r1169"
     ]
    },
    "us-gaap_ConvertibleNotesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConvertibleNotesPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Convertible Notes Payable, Current",
        "verboseLabel": "Carrying value of convertible notes",
        "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."
       }
      }
     },
     "auth_ref": [
      "r42"
     ]
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Cost of revenues",
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities."
       }
      }
     },
     "auth_ref": [
      "r184",
      "r781"
     ]
    },
    "srt_CounterpartyNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "CounterpartyNameAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Axis]"
       }
      }
     },
     "auth_ref": [
      "r324",
      "r325",
      "r501",
      "r526",
      "r768",
      "r980",
      "r982"
     ]
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Axis]",
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Domain]",
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditLossFinancialInstrumentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditLossFinancialInstrumentPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Loss, Financial Instrument [Policy Text Block]",
        "terseLabel": "Allowance for credit losses",
        "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."
       }
      }
     },
     "auth_ref": [
      "r260",
      "r417",
      "r418",
      "r419",
      "r421",
      "r422",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r435",
      "r436",
      "r437",
      "r438"
     ]
    },
    "csiq_CsiCellsSuqianCoLtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CsiCellsSuqianCoLtdMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to CSI Cells (SuQian) Co., Ltd.",
        "label": "CSI Cells (SuQian) Co Ltd [Member]",
        "terseLabel": "CSI Cells (SuQian) Co., Ltd."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CsiCellsYangzhouCoLtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CsiCellsYangzhouCoLtdMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to CSI Cells (Yangzhou) Co., Ltd.",
        "label": "CSI Cells Yangzhou Co Ltd [Member]",
        "terseLabel": "CSI Cells (Yangzhou) Co., Ltd."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CsiSolarCo.Ltd.Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CsiSolarCo.Ltd.Member",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to CSI Solar Co., Ltd.",
        "label": "CSI Solar Co., Ltd. [Member]",
        "terseLabel": "CSI Solar"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CsiSolarCoLtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CsiSolarCoLtdMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to CSI Solar Co., Ltd.",
        "label": "CSI Solar Co Ltd [Member]",
        "terseLabel": "CSI Solar Co., Ltd."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CsiSolarEmployeeIncentivePlan2020Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CsiSolarEmployeeIncentivePlan2020Member",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to 2020 CSI Solar employee incentive plan.",
        "label": "CSI Solar Employee Incentive Plan, 2020 [Member]",
        "terseLabel": "2020 CSI Solar employee incentive plan"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CsiSolarSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CsiSolarSegmentMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to CSI Solar segment.",
        "label": "CSI Solar Segment"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_CsiSolarTechnologyXiningCoLtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "CsiSolarTechnologyXiningCoLtdMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to CSI Solar Technology (Xining) Co., Ltd.",
        "label": "CSI Solar Technology Xining Co Ltd [Member]",
        "terseLabel": "CSI Solar Technology (Xining) Co., Ltd"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit)",
        "terseLabel": "Current tax expense (benefit)",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r219",
      "r686",
      "r692",
      "r1071"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Current tax"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerRelatedIntangibleAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerRelatedIntangibleAssetsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer-Related Intangible Assets [Member]",
        "terseLabel": "Customer-related intangible assets",
        "documentation": "Customer-related asset, including, but not limited to, customer lists, and noncontractual customer relationships."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "country_DE": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "DE",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Germany"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt, Current",
        "totalLabel": "Subtotal for short-term borrowings",
        "documentation": "Amount of debt and lease obligation, classified as current."
       }
      }
     },
     "auth_ref": [
      "r279"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "BORROWINGS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "BORROWINGS",
        "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."
       }
      }
     },
     "auth_ref": [
      "r206",
      "r318",
      "r497",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r513",
      "r520",
      "r521",
      "r523"
     ]
    },
    "us-gaap_DebtInstrumentAnnualPrincipalPayment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentAnnualPrincipalPayment",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Annual Principal Payment",
        "verboseLabel": "Conversion rate initial principal amount",
        "documentation": "Amount of the total principal payments made during the annual reporting period."
       }
      }
     },
     "auth_ref": [
      "r35"
     ]
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r161",
      "r162",
      "r233",
      "r235",
      "r327",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r504",
      "r509",
      "r510",
      "r511",
      "r512",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r740",
      "r992",
      "r993",
      "r994",
      "r995",
      "r996",
      "r1069"
     ]
    },
    "us-gaap_DebtInstrumentConvertibleConversionPrice1": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleConversionPrice1",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Conversion Price",
        "verboseLabel": "Conversion price (in dollars per share)",
        "documentation": "The price per share of the conversion feature embedded in the debt instrument."
       }
      }
     },
     "auth_ref": [
      "r208",
      "r500"
     ]
    },
    "us-gaap_DebtInstrumentConvertibleConversionRatio1": {
     "xbrltype": "pureItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleConversionRatio1",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Convertible, Conversion Ratio",
        "verboseLabel": "Conversion rate",
        "documentation": "Ratio applied to the conversion of debt instrument into equity with equity shares divided by debt principal amount."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r99",
      "r210",
      "r211",
      "r500"
     ]
    },
    "csiq_DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentConvertibleThresholdConsecutiveTradingDays1": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleThresholdConsecutiveTradingDays1",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Minimum percentage of common stock price to conversion price of convertible debt instruments to determine eligibility of conversion."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentConvertibleThresholdTradingDays": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentConvertibleThresholdTradingDays",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentFaceAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Face Amount",
        "terseLabel": "Amount of loan facility",
        "documentation": "Face (par) amount of debt instrument at time of issuance."
       }
      }
     },
     "auth_ref": [
      "r147",
      "r149",
      "r498",
      "r740",
      "r993",
      "r994"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Interest Rate, Effective Percentage",
        "terseLabel": "Effective interest rate (as a percent)",
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r147",
      "r525",
      "r740"
     ]
    },
    "csiq_DebtInstrumentInterestRateFloatingPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DebtInstrumentInterestRateFloatingPercentage",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Interest rate (as a percent)",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r499"
     ]
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Line Items]",
        "terseLabel": "BORROWINGS",
        "verboseLabel": "CONVERTIBLE NOTES",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r327",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r504",
      "r509",
      "r510",
      "r511",
      "r512",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r522",
      "r740",
      "r992",
      "r993",
      "r994",
      "r995",
      "r996",
      "r1069"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Name [Domain]",
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r327",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r504",
      "r509",
      "r510",
      "r511",
      "r512",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r740",
      "r992",
      "r993",
      "r994",
      "r995",
      "r996",
      "r1069"
     ]
    },
    "us-gaap_DebtInstrumentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Long-term Debt Instruments [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r99",
      "r100",
      "r146",
      "r147",
      "r149",
      "r157",
      "r209",
      "r211",
      "r327",
      "r498",
      "r499",
      "r500",
      "r501",
      "r502",
      "r504",
      "r509",
      "r510",
      "r511",
      "r512",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r522",
      "r740",
      "r992",
      "r993",
      "r994",
      "r995",
      "r996",
      "r1069"
     ]
    },
    "us-gaap_DebtInstrumentTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentTerm",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Term",
        "terseLabel": "Term of facility (in years)",
        "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtLongtermAndShorttermCombinedAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtLongtermAndShorttermCombinedAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt, Long-term and Short-term, Combined Amount",
        "terseLabel": "Outstanding balance",
        "totalLabel": "Total",
        "documentation": "Represents the aggregate of total long-term debt, including current maturities and short-term debt."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtLongtermAndShorttermCombinedAmountAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtLongtermAndShorttermCombinedAmountAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt, Long-term and Short-term, Combined Amount [Abstract]",
        "terseLabel": "BANK BORROWINGS"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_DebtSecuredByPropertyPlantAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DebtSecuredByPropertyPlantAndEquipmentMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_DecreaseOfNetAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DecreaseOfNetAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The decrease of net assets after tax equity transactions.",
        "label": "Decrease of Net Assets",
        "terseLabel": "Net assets derecognized"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredFinanceCostsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFinanceCostsGross",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Finance Costs, Gross",
        "terseLabel": "Unamortized issuance costs",
        "documentation": "Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs."
       }
      }
     },
     "auth_ref": [
      "r148"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Assets, Net",
        "terseLabel": "Deferred tax assets",
        "verboseLabel": "Deferred tax assets, net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r670",
      "r671"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred tax expense (benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r219",
      "r259",
      "r691",
      "r692",
      "r1071"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Deferred tax"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Gross",
        "totalLabel": "Total deferred tax liabilities",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences."
       }
      }
     },
     "auth_ref": [
      "r164",
      "r165",
      "r234",
      "r680"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Liabilities, Net",
        "negatedLabel": "Deferred tax liabilities",
        "terseLabel": "Deferred tax liabilities",
        "verboseLabel": "Deferred tax liabilities",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r670",
      "r671",
      "r808"
     ]
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCredits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxesAndTaxCredits",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Taxes and Tax Credits",
        "terseLabel": "Deferred taxes",
        "documentation": "Amount of deferred income tax expense (benefit) and income tax credits."
       }
      }
     },
     "auth_ref": [
      "r194"
     ]
    },
    "csiq_DeferredTaxAssetsFutureDeductibleExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DeferredTaxAssetsFutureDeductibleExpenses",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Total deferred tax assets, gross",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r681"
     ]
    },
    "us-gaap_DeferredTaxAssetsGrossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGrossAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Gross [Abstract]",
        "terseLabel": "Deferred tax assets:"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_DeferredTaxAssetsInterestLimitation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DeferredTaxAssetsInterestLimitation",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsInventory",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Inventory",
        "terseLabel": "Inventory write-down",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r1148"
     ]
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net",
        "totalLabel": "Net deferred tax assets",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r1147"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "totalLabel": "Total deferred tax assets, net of valuation allowance",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r1147"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "terseLabel": "Net operating losses carry-forward",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r1148"
     ]
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOther",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Other",
        "terseLabel": "Others",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r1148"
     ]
    },
    "us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Property, Plant and Equipment",
        "terseLabel": "Depreciation and impairment difference of property, plant and equipment and solar power systems",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_DeferredTaxAssetsRelatedToSaleOfProjectAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DeferredTaxAssetsRelatedToSaleOfProjectAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r1148"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Allowance for Doubtful Accounts",
        "terseLabel": "Allowance for credit losses",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r1148"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Warranty Reserves",
        "terseLabel": "Accrued warranty costs",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from warranty reserves."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r1148"
     ]
    },
    "us-gaap_DeferredTaxAssetsUnrealizedCurrencyLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsUnrealizedCurrencyLosses",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Unrealized Currency Losses",
        "terseLabel": "Unrealized foreign exchange loss and capital loss",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from unrealized losses on foreign currency transactions."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r1148"
     ]
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Valuation Allowance",
        "negatedLabel": "Valuation allowance",
        "periodEndLabel": "End of the year",
        "periodStartLabel": "Beginning of the year",
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized."
       }
      }
     },
     "auth_ref": [
      "r682"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Gross [Abstract]",
        "terseLabel": "Analysis as:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesDerivatives": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesDerivatives",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Derivatives",
        "terseLabel": "Derivative assets",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from derivatives."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r1148"
     ]
    },
    "csiq_DeferredTaxLiabilitiesInsuranceRecoverable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DeferredTaxLiabilitiesInsuranceRecoverable",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesNetAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Net [Abstract]",
        "terseLabel": "Deferred tax liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesOther",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Other",
        "terseLabel": "Others",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r1148"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Property, Plant and Equipment",
        "terseLabel": "Depreciation difference of property, plant and equipment",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r1148"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Unrealized Currency Transaction Gains",
        "verboseLabel": "Unrealized foreign exchange gain",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from unrealized gains on foreign currency transactions."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r1148"
     ]
    },
    "us-gaap_DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liability Not Recognized, Amount of Unrecognized Deferred Tax Liability, Undistributed Earnings of Foreign Subsidiaries",
        "terseLabel": "Unrecognized deferred tax liabilities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r698"
     ]
    },
    "us-gaap_DefinedContributionPlanCostRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanCostRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Contribution Plan, Cost Recognized",
        "terseLabel": "Defined contributions schemes expense",
        "documentation": "Amount of cost for defined contribution plan."
       }
      }
     },
     "auth_ref": [
      "r612"
     ]
    },
    "us-gaap_DefinedContributionPlanDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanDisclosureLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Contribution Plan Disclosure [Line Items]",
        "terseLabel": "EMPLOYEE BENEFIT PLANS",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r612"
     ]
    },
    "csiq_DefinedContributionPlanEmployerContributionAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DefinedContributionPlanEmployerContributionAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercent",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay",
        "terseLabel": "Employer's contribution (as a percent)",
        "documentation": "Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOfMatch",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Contribution Plan, Employer Matching Contribution, Percent of Match",
        "terseLabel": "Defined Contribution Plan, Employer Matching Contribution, Percent of Match",
        "documentation": "Percentage employer matches of the employee's percentage contribution matched."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedContributionPlanTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Contribution Plan [Table]",
        "documentation": "Disclosure of information about defined contribution pension plans or defined contribution other postretirement plans, separately for pension plans and other postretirement benefit plans."
       }
      }
     },
     "auth_ref": [
      "r612"
     ]
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation",
        "terseLabel": "Depreciation expense",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r94"
     ]
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation, Depletion and Amortization",
        "terseLabel": "Depreciation and amortization",
        "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."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r375"
     ]
    },
    "us-gaap_DerivativeAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Asset, Current",
        "terseLabel": "Derivative assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r286"
     ]
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeContractTypeDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Contract [Domain]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r871",
      "r873",
      "r889",
      "r890",
      "r891",
      "r893",
      "r894",
      "r895",
      "r896",
      "r898",
      "r899",
      "r900",
      "r901",
      "r916",
      "r917",
      "r918",
      "r919",
      "r922",
      "r923",
      "r924",
      "r925",
      "r942",
      "r943",
      "r946",
      "r947",
      "r1019",
      "r1021"
     ]
    },
    "us-gaap_DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Asset, Fair Value, Amount Not Offset Against Collateral",
        "terseLabel": "Total derivatives asset",
        "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."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r29",
      "r33",
      "r140"
     ]
    },
    "us-gaap_DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Liability, Fair Value, Amount Not Offset Against Collateral",
        "terseLabel": "Total derivatives liability",
        "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."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r29",
      "r33",
      "r140"
     ]
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeInstrumentRiskAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instrument [Axis]",
        "documentation": "Information by type of derivative contract."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r134",
      "r136",
      "r138",
      "r871",
      "r873",
      "r889",
      "r890",
      "r891",
      "r893",
      "r894",
      "r895",
      "r896",
      "r898",
      "r899",
      "r900",
      "r901",
      "r916",
      "r917",
      "r918",
      "r919",
      "r922",
      "r923",
      "r924",
      "r925",
      "r942",
      "r943",
      "r946",
      "r947",
      "r982",
      "r1019",
      "r1021"
     ]
    },
    "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments, Gain (Loss) [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r132",
      "r136",
      "r138",
      "r141",
      "r142",
      "r707"
     ]
    },
    "us-gaap_DerivativeInstrumentsGainLossLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeInstrumentsGainLossLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments, Gain (Loss) [Line Items]",
        "terseLabel": "Effect of derivative instruments on consolidated statements of operations",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r707"
     ]
    },
    "us-gaap_DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments Not Designated as Hedging Instruments, Gain (Loss), Net",
        "verboseLabel": "Gain (loss) on change in fair value of derivatives",
        "documentation": "Amount of realized and unrealized gain (loss) of derivative instruments not designated or qualifying as hedging instruments."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r1049"
     ]
    },
    "us-gaap_DerivativeLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Liability, Current",
        "terseLabel": "Derivative liabilities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r286"
     ]
    },
    "csiq_DerivativesAssetsCurrentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DerivativesAssetsCurrentMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing current derivatives assets.",
        "label": "Derivative assets - current"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativesFairValueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativesFairValueLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivatives, Fair Value [Line Items]",
        "terseLabel": "Effect of fair value of derivative instruments on the consolidated balance sheets",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_DerivativesLiabilitiesCurrentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DerivativesLiabilitiesCurrentMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing current derivatives liabilities.",
        "label": "Derivative liabilities - current"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativesPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivatives, Policy [Policy Text Block]",
        "terseLabel": "Derivatives instruments and hedging activity",
        "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r128",
      "r129",
      "r130",
      "r139",
      "r326"
     ]
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DevelopedTechnologyRightsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Technical know-how",
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property."
       }
      }
     },
     "auth_ref": [
      "r221"
     ]
    },
    "us-gaap_DilutiveSecuritiesEffectOnBasicEarningsPerShareOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DilutiveSecuritiesEffectOnBasicEarningsPerShareOther",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dilutive Securities, Effect on Basic Earnings Per Share, Dilutive Convertible Securities",
        "terseLabel": "Dilutive effect of convertible notes",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueLineItems",
     "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"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "Revenue recognition",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r539",
      "r998",
      "r999",
      "r1000",
      "r1001",
      "r1002",
      "r1003",
      "r1004"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTable",
     "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"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r539",
      "r998",
      "r999",
      "r1000",
      "r1001",
      "r1002",
      "r1003",
      "r1004"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table Text Block]",
        "terseLabel": "Schedule of disaggregation of revenue",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1111"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]",
        "terseLabel": "SHARE-BASED COMPENSATION",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r614",
      "r619",
      "r651",
      "r652",
      "r654",
      "r1008"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "SHARE-BASED COMPENSATION"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Accounting Standard",
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'."
       }
      }
     },
     "auth_ref": [
      "r1037"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r1036",
      "r1037",
      "r1038"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r1036",
      "r1037",
      "r1038",
      "r1040"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentInformationLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentInformationTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Table]",
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Registration Statement",
        "documentation": "Boolean flag that is true only for a form used as a registration statement."
       }
      }
     },
     "auth_ref": [
      "r1032"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Report",
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r1037"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r1039"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_DomesticAndStateTaxAuthorityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "DomesticAndStateTaxAuthorityMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Designated tax department of country of domicile and state or local government entitled to levy and collect income taxes from the entity.",
        "label": "Domestic and State Tax Authority [Member]",
        "terseLabel": "U.S. federal and state"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DomesticCountryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DomesticCountryMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Domestic Country [Member]",
        "terseLabel": "Canada",
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile."
       }
      }
     },
     "auth_ref": []
    },
    "country_ES": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "ES",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Spain"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "EARNINGS PER SHARE"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Earnings per share - basic",
        "verboseLabel": "Basic earnings per share",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r307",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r347",
      "r350",
      "r357",
      "r358",
      "r359",
      "r363",
      "r716",
      "r717",
      "r801",
      "r827",
      "r986"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Earnings per share - diluted",
        "verboseLabel": "Diluted earnings per share",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r307",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r350",
      "r357",
      "r358",
      "r359",
      "r363",
      "r716",
      "r717",
      "r801",
      "r827",
      "r986"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "terseLabel": "Earnings per share",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r69",
      "r70"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "EARNINGS PER SHARE",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r346",
      "r360",
      "r361",
      "r362"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r1152"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "totalLabel": "Actual income tax rate (as a percent)",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r673"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "terseLabel": "Change in valuation allowance (as a percent)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1144",
      "r1149"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Change in Enacted Tax Rate, Percent",
        "terseLabel": "Effect of change in tax rate",
        "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."
       }
      }
     },
     "auth_ref": [
      "r693",
      "r1144"
     ]
    },
    "csiq_EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "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, Change in Enacted Tax Rate on Foreign Earnings, Percent",
        "terseLabel": "Effect of cross-border tax (as a percent)"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_EffectiveIncomeTaxRateReconciliationEffectOfTrueUp": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationEffectOfTrueUp",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1144",
      "r1149"
     ]
    },
    "csiq_EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingencies": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxContingencies",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Percent",
        "terseLabel": "Unrecognized tax provision (as a percent)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1144",
      "r1149"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCredits",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent",
        "verboseLabel": "Federal Investment Tax Credit (as a percentage)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1144",
      "r1149"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxHolidays": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxHolidays",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Tax Holiday, Percent",
        "negatedLabel": "Effect of tax holiday (as a percent)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1144",
      "r1149"
     ]
    },
    "csiq_EighthAdministrativeReviewOfSolarOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "EighthAdministrativeReviewOfSolarOneMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_EighthAdministrativeReviewOfSolarTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "EighthAdministrativeReviewOfSolarTwoMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ElectricGenerationEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ElectricGenerationEquipmentMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Solar power systems",
        "terseLabel": "Solar power systems in operation",
        "documentation": "Equipment used for the primary purpose of generating electricity to be distributed to the consumer."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "us-gaap_ElectricityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ElectricityMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Electricity",
        "documentation": "Generation, transmission and distribution of electric energy."
       }
      }
     },
     "auth_ref": [
      "r1112"
     ]
    },
    "csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ElectricityRevenueFromOperatingPortfolioAndOthersMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to electricity revenue from operating portfolio and others.",
        "label": "Electricity Revenue From Operating Portfolio and Others"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_EliminationsAndReconcilingItemsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "EliminationsAndReconcilingItemsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to eliminations and reconciling items.",
        "label": "Elimination and unallocated items"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r653"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r1143"
     ]
    },
    "csiq_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCountry": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Country",
        "terseLabel": "Entity Address, Country",
        "documentation": "ISO 3166-1 alpha-2 country code."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressesAddressTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressesAddressTypeAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Addresses, Address Type [Axis]",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r1034"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityDomain",
     "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/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity [Domain]",
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r1034"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r1034"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r1041"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r1034"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r1034"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r1042"
     ]
    },
    "us-gaap_EntityWideInformationRevenueFromExternalCustomerLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EntityWideInformationRevenueFromExternalCustomerLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from External Customer [Line Items]",
        "terseLabel": "Revenues generated from each product",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_EpcAndOthersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "EpcAndOthersMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to EPC and others.",
        "label": "EPC and Others"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component [Domain]",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r265",
      "r298",
      "r299",
      "r300",
      "r333",
      "r334",
      "r335",
      "r337",
      "r343",
      "r345",
      "r365",
      "r415",
      "r416",
      "r527",
      "r655",
      "r656",
      "r657",
      "r687",
      "r688",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r729",
      "r731",
      "r732",
      "r733",
      "r734",
      "r735",
      "r761",
      "r848",
      "r849",
      "r850",
      "r865",
      "r929"
     ]
    },
    "csiq_EquityIncomeLossFromSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "EquityIncomeLossFromSubsidiaries",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "srt_EquityMethodInvesteeNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "EquityMethodInvesteeNameDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Domain]"
       }
      }
     },
     "auth_ref": [
      "r409",
      "r410",
      "r412"
     ]
    },
    "us-gaap_EquityMethodInvestmentOwnershipPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentOwnershipPercentage",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investment, Ownership Percentage",
        "terseLabel": "Ownership percentage",
        "verboseLabel": "Ownership Percentage",
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting."
       }
      }
     },
     "auth_ref": [
      "r409"
     ]
    },
    "csiq_EquityMethodInvestmentOwnershipPercentageSold": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "EquityMethodInvestmentOwnershipPercentageSold",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityMethodInvestmentRealizedGainLossOnDisposal": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentRealizedGainLossOnDisposal",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Amount of gain (loss) on sale or disposal of an equity method investment."
       }
      }
     },
     "auth_ref": [
      "r1063",
      "r1064",
      "r1068"
     ]
    },
    "us-gaap_EquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestments",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments",
        "terseLabel": "Investments in affiliates",
        "verboseLabel": "Carrying Value",
        "documentation": "This item represents the carrying amount on the entity's balance sheet of its investment in common stock of an equity method investee. This is not an indicator of the fair value of the investment, rather it is the initial cost adjusted for the entity's share of earnings and losses of the investee, adjusted for any distributions (dividends) and other than temporary impairment (OTTI) losses recognized."
       }
      }
     },
     "auth_ref": [
      "r380",
      "r407",
      "r1053",
      "r1085"
     ]
    },
    "us-gaap_EquityMethodInvestmentsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentsDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments and Joint Ventures Disclosure [Text Block]",
        "terseLabel": "INVESTMENTS IN AFFILIATES",
        "documentation": "The entire disclosure for equity method investments and joint ventures. Equity method investments are investments that give the investor the ability to exercise significant influence over the operating and financial policies of an investee. Joint ventures are entities owned and operated by a small group of businesses as a separate and specific business or project for the mutual benefit of the members of the group."
       }
      }
     },
     "auth_ref": [
      "r263",
      "r411",
      "r414",
      "r1044"
     ]
    },
    "us-gaap_EquityMethodInvestmentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentsPolicy",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments, Policy [Policy Text Block]",
        "terseLabel": "Investments in affiliates",
        "documentation": "Disclosure of accounting policy for equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r145",
      "r410"
     ]
    },
    "us-gaap_EquityMethodInvestmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityMethodInvestmentsTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Method Investments [Table Text Block]",
        "terseLabel": "Schedule of investments in affiliates",
        "documentation": "Tabular disclosure of equity method investments including, but not limited to, name of each investee or group of investments, percentage ownership, difference between recorded amount of an investment and the value of the underlying equity in the net assets, and summarized financial information."
       }
      }
     },
     "auth_ref": [
      "r408"
     ]
    },
    "us-gaap_EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Ownership, Excluding Consolidated Entity and Equity Method Investee, Percentage",
        "terseLabel": "Equity method investee percentage",
        "documentation": "Percentage of ownership of equity interest excluding interest in entity that is consolidated and equity method investee."
       }
      }
     },
     "auth_ref": [
      "r1046"
     ]
    },
    "us-gaap_EquitySecuritiesFvNiUnrealizedGain": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquitySecuritiesFvNiUnrealizedGain",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Securities, FV-NI, Unrealized Gain",
        "terseLabel": "Unrealized gains",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r406"
     ]
    },
    "srt_EuropeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "EuropeMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Europe"
       }
      }
     },
     "auth_ref": [
      "r1178",
      "r1179",
      "r1180",
      "r1181"
     ]
    },
    "csiq_ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the experience in delivering solar power and battery energy storage projects.",
        "label": "Experience Term in Delivering Solar Power and Battery Energy Storage Projects",
        "terseLabel": "Energy storage projects"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ExtinguishmentOfDebtAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ExtinguishmentOfDebtAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extinguishment of Debt [Axis]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r98"
     ]
    },
    "us-gaap_ExtinguishmentOfDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ExtinguishmentOfDebtTypeDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Extinguishment of Debt, Type [Domain]",
        "documentation": "Type of debt extinguished."
       }
      }
     },
     "auth_ref": [
      "r98"
     ]
    },
    "country_FR": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "FR",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "France"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 37.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Asset, Recurring Basis, Still Held, Unrealized Gain (Loss)",
        "negatedLabel": "Gain on change in fair value of other financial assets",
        "documentation": "Amount of unrealized gain (loss) recognized in income from asset measured at fair value on recurring basis using unobservable input (level 3) and still held."
       }
      }
     },
     "auth_ref": [
      "r719"
     ]
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "FAIR VALUE MEASUREMENT"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosuresTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurement"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Text Block]",
        "terseLabel": "FAIR VALUE MEASUREMENT",
        "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."
       }
      }
     },
     "auth_ref": [
      "r718"
     ]
    },
    "us-gaap_FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 5.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "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"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r719"
     ]
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]",
        "terseLabel": "Fair value of financial instruments",
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r34"
     ]
    },
    "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r133",
      "r141"
     ]
    },
    "csiq_FifthAdministrativeReviewOfSolarOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "FifthAdministrativeReviewOfSolarOneMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseInterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseInterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Interest Expense",
        "terseLabel": "Interest on lease liabilities",
        "documentation": "Amount of interest expense on finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r745",
      "r751",
      "r1015"
     ]
    },
    "us-gaap_FinanceLeaseInterestPaymentOnLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseInterestPaymentOnLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Interest Payment on Liability",
        "negatedLabel": "Operating cash outflows from finance lease",
        "documentation": "Amount of interest paid on finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r746",
      "r754"
     ]
    },
    "us-gaap_FinanceLeaseLiabilitiesPaymentsDueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilitiesPaymentsDueAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Payment, Due [Abstract]",
        "terseLabel": "Maturities of finance leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability",
        "terseLabel": "NPV for future minimum lease payments",
        "totalLabel": "Total Finance lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease."
       }
      }
     },
     "auth_ref": [
      "r743",
      "r758"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiability",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Current",
        "terseLabel": "Other finance lease liabilities, current",
        "verboseLabel": "Finance lease liabilities, current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r743"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Current, Statement of Financial Position [Extensible List]",
        "documentation": "Indicates line item in statement of financial position that includes current finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r744"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiability",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Noncurrent",
        "terseLabel": "Other finance lease liabilities, noncurrent",
        "verboseLabel": "Finance lease liabilities, noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r743"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List]",
        "documentation": "Indicates line item in statement of financial position that includes noncurrent finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r744"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Payment, Due",
        "totalLabel": "Total future minimum lease payments",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for finance lease."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Payments, Due after Year Five",
        "terseLabel": "Thereafter",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance lease to be paid 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)."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Payments, Due Next Twelve Months",
        "terseLabel": "2024",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Payments, Due Year Five",
        "terseLabel": "2028",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for finance 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)."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Payments, Due Year Four",
        "terseLabel": "2027",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Payments, Due Year Three",
        "terseLabel": "2026",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Payments, Due Year Two",
        "terseLabel": "2025",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r744"
     ]
    },
    "us-gaap_FinanceLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails": {
       "parentTag": "us-gaap_FinanceLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Liability, Undiscounted Excess Amount",
        "terseLabel": "Less: imputed interest",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for finance lease."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization",
        "terseLabel": "Finance lease assets",
        "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r742"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Right-of-Use Asset, Amortization",
        "terseLabel": "Amortization of ROU assets",
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r745",
      "r751",
      "r1015"
     ]
    },
    "us-gaap_FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes finance lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r744"
     ]
    },
    "us-gaap_FinanceLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted average of lease discount rate - finance lease",
        "documentation": "Weighted average discount rate for finance lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r757",
      "r1015"
     ]
    },
    "us-gaap_FinanceLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinanceLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted average of remaining lease term - finance leases (in years)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r756",
      "r1015"
     ]
    },
    "us-gaap_FinancialGuaranteeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialGuaranteeMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Guarantee",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_FinancingFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "FinancingFacilityMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to financing facility.",
        "label": "Financing facility"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_FinishedGoodsModules": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "FinishedGoodsModules",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of finished goods includes modules.",
        "label": "Finished Goods, Modules",
        "terseLabel": "Amount of finished goods includes modules"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Amortization period",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedLabel": "Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r276",
      "r455"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five",
        "terseLabel": "Thereafter",
        "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)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months",
        "terseLabel": "2024",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r201"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five",
        "terseLabel": "2028",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r201"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four",
        "terseLabel": "2027",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r201"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three",
        "terseLabel": "2026",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r201"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two",
        "terseLabel": "2025",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r201"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r453",
      "r454",
      "r455",
      "r456",
      "r782",
      "r783"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]",
        "terseLabel": "Expected amortization expense of intangible assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross Carrying Amount",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r200",
      "r783"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "terseLabel": "INTANGIBLE ASSETS, NET",
        "verboseLabel": "Intangible assets",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r782"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r90",
      "r91"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 9.0
      },
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net",
        "terseLabel": "Intangible assets, net",
        "totalLabel": "Total intangible assets, net",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r200",
      "r782"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsNetAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "INTANGIBLE ASSETS, NET"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_FirstAdministrativeReviewOfSolarOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "FirstAdministrativeReviewOfSolarOneMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ForeignCurrencyRiskPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ForeignCurrencyRiskPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Transaction Gain (Loss), before Tax",
        "terseLabel": "Foreign exchange gain (loss), net",
        "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction."
       }
      }
     },
     "auth_ref": [
      "r722",
      "r724",
      "r726",
      "r727",
      "r926"
     ]
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "terseLabel": "Foreign currency translation",
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy."
       }
      }
     },
     "auth_ref": [
      "r721"
     ]
    },
    "us-gaap_ForeignExchangeForwardMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignExchangeForwardMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign exchange forward contracts",
        "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."
       }
      }
     },
     "auth_ref": [
      "r890",
      "r895",
      "r900",
      "r918",
      "r924",
      "r944",
      "r945",
      "r946",
      "r1021"
     ]
    },
    "us-gaap_ForeignExchangeOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignExchangeOptionMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign exchange option contracts",
        "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)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignPlanMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Plan",
        "documentation": "Location of employer sponsoring plan, designed to provide retirement benefits, not determined as principal place of business. Includes, but is not limited to, defined benefit and defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r1114",
      "r1115",
      "r1116"
     ]
    },
    "csiq_FourthAdministrativeReviewOfSolarOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "FourthAdministrativeReviewOfSolarOneMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_FranciscoSaIRenewableEnergyS.a.Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "FranciscoSaIRenewableEnergyS.a.Member",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "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."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_FranciscoSaSolarHoldingS.a.Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "FranciscoSaSolarHoldingS.a.Member",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Francisco Sa Solar Holding S.A.",
        "label": "Francisco"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FurnitureAndFixturesMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Furniture, fixtures and equipment",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "country_GB": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "GB",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Britain",
        "verboseLabel": "United Kingdom"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainContingenciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainContingenciesLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain Contingencies [Line Items]",
        "terseLabel": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r1097"
     ]
    },
    "us-gaap_GainContingenciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainContingenciesTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain Contingencies [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1097"
     ]
    },
    "csiq_GainLossOnDisposalOfSolarPowerSystems": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "GainLossOnDisposalOfSolarPowerSystems",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "parentTag": "us-gaap_OtherOperatingIncomeExpenseNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of gain (loss) on sale or disposal of solar power systems.",
        "label": "Gain (Loss) on disposal of solar power systems",
        "negatedLabel": "Net (gain) loss on disposal of solar power system"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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": "Loss on disposal of solar power systems"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain (Loss) on Investments",
        "terseLabel": "Investment income, net",
        "verboseLabel": "Investment (loss) gain",
        "documentation": "Amount of realized and unrealized gain (loss) on investment."
       }
      }
     },
     "auth_ref": [
      "r187",
      "r1043"
     ]
    },
    "us-gaap_GainLossOnSaleOfDerivatives": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnSaleOfDerivatives",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 18.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 35.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain (Loss) on Sale of Derivatives",
        "negatedLabel": "Net settlement of derivatives",
        "negatedTerseLabel": "Net settlement of derivatives",
        "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."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r242",
      "r916",
      "r917",
      "r918",
      "r919"
     ]
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 4.0
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "negatedLabel": "Loss (gain) on disposal of property, plant and equipment",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain (Loss) on Disposition of Stock in Subsidiary or Equity Method Investee",
        "terseLabel": "Disposal of subsidiaries",
        "documentation": "Amount of gain (loss) on sale or disposal of equity in securities of subsidiaries or equity method investee."
       }
      }
     },
     "auth_ref": [
      "r796",
      "r1063",
      "r1064",
      "r1068",
      "r1171"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General and Administrative Expense",
        "terseLabel": "General and administrative expenses",
        "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."
       }
      }
     },
     "auth_ref": [
      "r185",
      "r907"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsIntangibleAssetsPolicy",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]",
        "terseLabel": "Intangible assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "csiq_GovernmentGrantsNonCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "GovernmentGrantsNonCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Non Current portion of government grants.",
        "label": "Government Grants, Non Current",
        "terseLabel": "Government grants, non current"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GrantMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrantMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Government grants",
        "documentation": "Award of money not required to be repaid."
       }
      }
     },
     "auth_ref": [
      "r1112"
     ]
    },
    "us-gaap_GranteeStatusAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GranteeStatusAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Grantee Status [Axis]",
        "documentation": "Information by status of recipient to whom award is granted."
       }
      }
     },
     "auth_ref": [
      "r615",
      "r617",
      "r620",
      "r621",
      "r622",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648"
     ]
    },
    "us-gaap_GranteeStatusDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GranteeStatusDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Grantee Status [Domain]",
        "documentation": "Status of recipient to whom award is granted."
       }
      }
     },
     "auth_ref": [
      "r615",
      "r617",
      "r620",
      "r621",
      "r622",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648"
     ]
    },
    "csiq_GreenBondsAndConvertibleDebtNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "GreenBondsAndConvertibleDebtNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to green bonds and convertible debt.",
        "label": "Green Bonds and Convertible Debt Noncurrent",
        "terseLabel": "Green bonds and convertible notes"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_GreenBondsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "GreenBondsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to green bonds.",
        "label": "Green Bonds [Member]",
        "terseLabel": "Green Bonds"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross Profit",
        "terseLabel": "Gross profit",
        "totalLabel": "Gross profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r183",
      "r320",
      "r370",
      "r384",
      "r390",
      "r393",
      "r413",
      "r484",
      "r485",
      "r487",
      "r488",
      "r489",
      "r491",
      "r493",
      "r495",
      "r496",
      "r720",
      "r988",
      "r1104"
     ]
    },
    "us-gaap_GuaranteeObligationsByNatureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GuaranteeObligationsByNatureAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Guarantor Obligations, Nature [Axis]",
        "documentation": "Information by nature of guarantee."
       }
      }
     },
     "auth_ref": [
      "r471",
      "r476",
      "r477",
      "r480"
     ]
    },
    "us-gaap_GuaranteeObligationsMaximumExposure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GuaranteeObligationsMaximumExposure",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Guarantor Obligations, Maximum Exposure, Undiscounted",
        "terseLabel": "Guarantor obligations, maximum exposure",
        "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."
       }
      }
     },
     "auth_ref": [
      "r476"
     ]
    },
    "us-gaap_GuaranteeObligationsNatureDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GuaranteeObligationsNatureDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Guarantor Obligations, Nature [Domain]",
        "documentation": "Represents a description of the nature of the guarantee or each group of similar guarantees."
       }
      }
     },
     "auth_ref": [
      "r471",
      "r476",
      "r477",
      "r480"
     ]
    },
    "country_HK": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "HK",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hong Kong",
        "terseLabel": "Hong Kong"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_HedgingDesignationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "HedgingDesignationAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hedging Designation [Axis]",
        "documentation": "Information by designation of purpose of derivative instrument."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r707"
     ]
    },
    "us-gaap_HedgingDesignationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "HedgingDesignationDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hedging Designation [Domain]",
        "documentation": "Designation of purpose of derivative instrument."
       }
      }
     },
     "auth_ref": [
      "r26"
     ]
    },
    "csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_HorusSolarS.a.DeCapitalVariableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "HorusSolarS.a.DeCapitalVariableMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "country_IE": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "IE",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "IRELAND",
        "terseLabel": "Ireland"
       }
      }
     },
     "auth_ref": []
    },
    "country_IN": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "IN",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "India"
       }
      }
     },
     "auth_ref": []
    },
    "country_IT": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "IT",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ITALY",
        "terseLabel": "Italy"
       }
      }
     },
     "auth_ref": []
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r1036",
      "r1037",
      "r1038"
     ]
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]",
        "terseLabel": "Impairment of long-lived assets",
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r204"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r178",
      "r241",
      "r370",
      "r384",
      "r390",
      "r393",
      "r802",
      "r820",
      "r988"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterestAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest [Abstract]",
        "terseLabel": "Income (loss) before income taxes"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r370",
      "r384",
      "r390",
      "r393",
      "r828",
      "r988"
     ]
    },
    "us-gaap_IncomeLossFromEquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromEquityMethodInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Equity Method Investments",
        "negatedTerseLabel": "Equity in earnings of affiliates",
        "terseLabel": "Equity in earnings of affiliates",
        "documentation": "Amount of income (loss) for proportionate share of equity method investee's income (loss)."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r179",
      "r240",
      "r377",
      "r407",
      "r819"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF OPERATIONS"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_IncomeTaxAdditionalDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "IncomeTaxAdditionalDisclosureAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Additional Disclosure [Abstract]",
        "terseLabel": "Additional disclosure"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Axis]",
        "documentation": "Information by tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Domain]",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxContingencyLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxContingencyLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Contingency [Line Items]",
        "terseLabel": "Income taxes:",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxContingencyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxContingencyTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Contingency [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r111",
      "r217",
      "r218"
     ]
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME TAXES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "INCOME TAXES",
        "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."
       }
      }
     },
     "auth_ref": [
      "r321",
      "r665",
      "r674",
      "r678",
      "r684",
      "r689",
      "r694",
      "r695",
      "r696",
      "r859"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0,
       "order": 2.0
      },
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Expense (Benefit)",
        "negatedLabel": "Income tax expense",
        "negatedTerseLabel": "Income tax benefit (expense)",
        "totalLabel": "Total income tax expense (benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r245",
      "r261",
      "r344",
      "r345",
      "r378",
      "r672",
      "r690",
      "r829"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Provision for income taxes"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_IncomeTaxHolidayAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "IncomeTaxHolidayAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Holiday [Abstract]",
        "terseLabel": "Aggregate amount and per share effect of the tax holiday"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxHolidayAggregateDollarAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxHolidayAggregateDollarAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Holiday, Aggregate Dollar Amount",
        "terseLabel": "The aggregate amount (in dollars)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r694"
     ]
    },
    "csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income taxes",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r297",
      "r668",
      "r669",
      "r678",
      "r679",
      "r683",
      "r685",
      "r855"
     ]
    },
    "csiq_IncomeTaxesForeignCorporateTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "IncomeTaxesForeignCorporateTaxRate",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_IncomeTaxesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "IncomeTaxesLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes [Line Items]",
        "verboseLabel": "INCOME TAXES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes Paid, Net",
        "terseLabel": "Income taxes paid, net of tax refund",
        "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."
       }
      }
     },
     "auth_ref": [
      "r65"
     ]
    },
    "csiq_IncomeTaxesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "IncomeTaxesTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosures pertaining to income taxes.",
        "label": "Income Taxes [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableTrade": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayableTrade",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 28.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Accounts Payable, Trade",
        "terseLabel": "Accounts payable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 20.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable trade",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "csiq_IncreaseDecreaseInAdvanceToSuppliers": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "IncreaseDecreaseInAdvanceToSuppliers",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 24.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Contract with Customer, Asset",
        "negatedLabel": "Accounts receivable, unbilled",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1067"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 32.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Customer Advances",
        "terseLabel": "Advances from customers",
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r779",
      "r1067"
     ]
    },
    "csiq_IncreaseDecreaseInDepreciationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "IncreaseDecreaseInDepreciationExpense",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInDueFromRelatedPartiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInDueFromRelatedPartiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 21.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Due from Related Parties, Current",
        "negatedLabel": "Amounts due from related parties",
        "negatedTerseLabel": "Amounts due from subsidiaries",
        "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."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInDueToRelatedPartiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInDueToRelatedPartiesCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 15.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 30.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Due to Related Parties, Current",
        "terseLabel": "Amounts due to related parties",
        "verboseLabel": "Amounts due from subsidiaries",
        "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."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 22.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Inventories",
        "negatedLabel": "Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "csiq_IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 17.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 34.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInNotesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInNotesPayableCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 29.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Notes Payable, Current",
        "terseLabel": "Short-term notes payable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 19.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Lease Liability",
        "terseLabel": "Operating lease liabilities",
        "documentation": "Amount of increase (decrease) in obligation for operating lease."
       }
      }
     },
     "auth_ref": [
      "r1048",
      "r1067"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 31.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Other Accounts Payable",
        "terseLabel": "Other payables",
        "documentation": "Amount of increase (decrease) in obligations classified as other, payable within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherCurrentLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Other Current Liabilities",
        "terseLabel": "Other current liabilities",
        "documentation": "Amount of increase (decrease) in current liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r1067"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherNoncurrentAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 13.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 27.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Other Noncurrent Assets",
        "negatedLabel": "Other non-current assets",
        "documentation": "Amount of increase (decrease) in noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r1067"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 33.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Other Operating Liabilities",
        "terseLabel": "Other liabilities",
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 26.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other current assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "csiq_IncreaseDecreaseInProjectAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "IncreaseDecreaseInProjectAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 25.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "terseLabel": "Increase (Decrease) in Stockholders' Equity",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_IncreaseDecreaseInValueAddedTaxReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "IncreaseDecreaseInValueAddedTaxReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 23.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncrementalCommonSharesAttributableToConversionOfDebtSecurities": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncrementalCommonSharesAttributableToConversionOfDebtSecurities",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Conversion of Debt Securities",
        "terseLabel": "Dilutive effects of share number from convertible notes",
        "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."
       }
      }
     },
     "auth_ref": [
      "r354",
      "r355",
      "r359"
     ]
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements",
        "terseLabel": "Diluted effects of share number from RSUs and share options",
        "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."
       }
      }
     },
     "auth_ref": [
      "r351",
      "r352",
      "r353",
      "r359",
      "r618"
     ]
    },
    "csiq_InsuranceClaimsOrWeatherRelatedProjectDamages": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "InsuranceClaimsOrWeatherRelatedProjectDamages",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "parentTag": "us-gaap_OtherOperatingIncomeExpenseNet",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of (insurance claims) or weather related project damages.",
        "label": "Insurance Claims or Weather Related Project Damages",
        "terseLabel": "Weather-related project damages"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_InsurancePolicyTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "InsurancePolicyTerm",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_InsurancePremiumUnamortizedAmountNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "InsurancePremiumUnamortizedAmountNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InsuranceSettlementsReceivableNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InsuranceSettlementsReceivableNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insurance Settlements Receivable, Noncurrent",
        "terseLabel": "Insurance receivable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1055"
     ]
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets Disclosure [Text Block]",
        "terseLabel": "INTANGIBLE ASSETS, NET",
        "documentation": "The entire disclosure for all or part of the information related to intangible assets."
       }
      }
     },
     "auth_ref": [
      "r452"
     ]
    },
    "us-gaap_InterestCapitalizationPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestCapitalizationPolicyPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Capitalization, Policy [Policy Text Block]",
        "terseLabel": "Interest capitalization",
        "documentation": "Disclosure of accounting policy for interest capitalization."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "csiq_InterestCostsCapitalizedProjectAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "InterestCostsCapitalizedProjectAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_InterestCostsCapitalizedPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "InterestCostsCapitalizedPropertyPlantAndEquipment",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_InterestCostsCapitalizedSolarPowerSystemNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "InterestCostsCapitalizedSolarPowerSystemNet",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestCostsIncurred": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestCostsIncurred",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Costs Incurred",
        "terseLabel": "Total interest incurred",
        "documentation": "Total interest costs incurred during the period and either capitalized or charged against earnings."
       }
      }
     },
     "auth_ref": [
      "r738"
     ]
    },
    "us-gaap_InterestCostsIncurredAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestCostsIncurredAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Costs Incurred [Abstract]",
        "terseLabel": "Interest expense"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Expense",
        "negatedLabel": "Interest expense",
        "terseLabel": "Interest expense",
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r243",
      "r301",
      "r374",
      "r737",
      "r913",
      "r1029",
      "r1175"
     ]
    },
    "us-gaap_InterestExpenseDebtExcludingAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestExpenseDebtExcludingAmortization",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Expense, Debt, Excluding Amortization",
        "verboseLabel": "Interest expense",
        "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."
       }
      }
     },
     "auth_ref": [
      "r189",
      "r518",
      "r995",
      "r996"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Paid, Net",
        "terseLabel": "Interest paid (net of amounts capitalized)",
        "verboseLabel": "Interest paid (net of amounts capitalized)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r310",
      "r315",
      "r316"
     ]
    },
    "us-gaap_InterestPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Payable, Current",
        "terseLabel": "Interest not paid recorded in other payables",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r42"
     ]
    },
    "us-gaap_InterestRateSwapMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestRateSwapMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest rate swap",
        "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."
       }
      }
     },
     "auth_ref": [
      "r970",
      "r1026",
      "r1027"
     ]
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "INVENTORIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventories"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Text Block]",
        "terseLabel": "INVENTORIES",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r439"
     ]
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Finished Goods, Net of Reserves",
        "terseLabel": "Finished goods",
        "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."
       }
      }
     },
     "auth_ref": [
      "r199",
      "r977"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 6.0
      },
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Net",
        "terseLabel": "Inventories",
        "totalLabel": "Inventories",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r284",
      "r975",
      "r1016"
     ]
    },
    "us-gaap_InventoryNetItemsNetOfReserveAlternativeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNetItemsNetOfReserveAlternativeAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Net, Items Net of Reserve Alternative [Abstract]",
        "terseLabel": "INVENTORIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Policy [Policy Text Block]",
        "terseLabel": "Inventories",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r248",
      "r272",
      "r283",
      "r439",
      "r440",
      "r442",
      "r780",
      "r984"
     ]
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryRawMaterialsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Raw Materials, Net of Reserves",
        "terseLabel": "Raw materials",
        "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."
       }
      }
     },
     "auth_ref": [
      "r199",
      "r979"
     ]
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryWorkInProcessNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Work in Process, Net of Reserves",
        "terseLabel": "Work-in-process",
        "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."
       }
      }
     },
     "auth_ref": [
      "r199",
      "r978"
     ]
    },
    "us-gaap_InventoryWriteDown": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryWriteDown",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Write-down",
        "terseLabel": "Write-down of inventories",
        "verboseLabel": "Inventory written down",
        "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."
       }
      }
     },
     "auth_ref": [
      "r441"
     ]
    },
    "csiq_InvestmentInAffiliates": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "InvestmentInAffiliates",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in affiliates.",
        "label": "Investments in Affiliates.",
        "terseLabel": "Investments in affiliates"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_InvestmentInSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "InvestmentInSubsidiaries",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in subsidiaries.",
        "label": "Investment In Subsidiaries",
        "terseLabel": "Investment in subsidiaries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InvestmentIncomeInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentIncomeInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment Income, Interest",
        "terseLabel": "Interest income",
        "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities."
       }
      }
     },
     "auth_ref": [
      "r186",
      "r373"
     ]
    },
    "csiq_InvestmentsInAffiliatesImpairmentCharge": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "InvestmentsInAffiliatesImpairmentCharge",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAdvancesFromCustomersAndAssetRetirementObligationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the impairment charges and write-off for investments in affiliates.",
        "label": "Investments in Affiliates Impairment Charge",
        "terseLabel": "Impairment charges on investments",
        "verboseLabel": "Impairment loss of investments in affiliates"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "INVESTMENTS IN AFFILIATES"
       }
      }
     },
     "auth_ref": []
    },
    "country_JP": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "JP",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Japan"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_JaibaSolarHoldingS.a.Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "JaibaSolarHoldingS.a.Member",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Jaiba Solar Holding S.A.",
        "label": "Jaiba"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_JushengSuzhouSolarTechCo.LtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "JushengSuzhouSolarTechCo.LtdMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to JuSheng (Suzhou) Solar Tech Co., Ltd.",
        "label": "JuSheng (Suzhou) Solar Tech Co., Ltd."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LandMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LandMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land",
        "verboseLabel": "Freehold land",
        "documentation": "Part of earth's surface not covered by water."
       }
      }
     },
     "auth_ref": [
      "r1112"
     ]
    },
    "csiq_LandUseRightPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LandUseRightPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LandUseRightsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LandUseRightsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails": {
       "parentTag": "us-gaap_OperatingLeaseRightOfUseAsset",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of land use rights.",
        "label": "Land Use Rights, Net",
        "terseLabel": "Land use rights, net"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LavraSolarHoldingS.a.Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LavraSolarHoldingS.a.Member",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Lavras Solar Holding S.A.",
        "label": "Lavras"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LeadingInstitutionalInvestorsAndStrategicPartnersMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Leading institutional investors and strategic partners.",
        "label": "Third-Party Investors"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease, Cost",
        "totalLabel": "Total lease cost",
        "documentation": "Amount of lease cost recognized by lessee for lease contract."
       }
      }
     },
     "auth_ref": [
      "r750",
      "r1015"
     ]
    },
    "us-gaap_LeaseCostAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCostAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease, Cost [Abstract]",
        "verboseLabel": "Finance lease cost:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseCostTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease, Cost [Table Text Block]",
        "terseLabel": "Schedule of leases",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1154"
     ]
    },
    "csiq_LeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease Liability",
        "label": "Lease Liability",
        "terseLabel": "NPV for future minimum lease payments",
        "totalLabel": "Total lease liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "parentTag": "csiq_LeaseLiability",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease Liability, Current",
        "label": "Lease Liability, Current",
        "terseLabel": "Short-term"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "parentTag": "csiq_LeaseLiability",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease Liability, Noncurrent",
        "label": "Lease Liability, Noncurrent",
        "terseLabel": "Long-term"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold improvements",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "LEASE"
       }
      }
     },
     "auth_ref": []
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LegalEntityAxis",
     "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/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r749"
     ]
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Table]",
        "documentation": "Disclosure of information about lessee's leases."
       }
      }
     },
     "auth_ref": [
      "r749"
     ]
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeasesPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Leases [Policy Text Block]",
        "terseLabel": "Leases",
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee."
       }
      }
     },
     "auth_ref": [
      "r748"
     ]
    },
    "csiq_LesseeLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LesseeLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due",
        "label": "Lessee, Liability, Payments, Due",
        "totalLabel": "Total future minimum lease payments"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LesseeLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LesseeLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due after Year Five",
        "label": "Lessee, Liability, Payments, Due after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LesseeLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LesseeLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Next Twelve Months",
        "label": "Lessee, Liability, Payments, Due Next Twelve Months",
        "terseLabel": "2024"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LesseeLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LesseeLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Five",
        "label": "Lessee, Liability, Payments, Due Year Five",
        "terseLabel": "2028"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LesseeLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LesseeLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Four",
        "label": "Lessee, Liability, Payments, Due Year Four",
        "terseLabel": "2027"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LesseeLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LesseeLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Three",
        "label": "Lessee, Liability, Payments, Due Year Three",
        "terseLabel": "2026"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LesseeLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LesseeLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails": {
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Payments, Due Year Two",
        "label": "Lessee, Liability, Payments, Due Year Two",
        "terseLabel": "2025"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LesseeLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LesseeLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails": {
       "parentTag": "csiq_LesseeLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lessee, Liability, Undiscounted Excess Amount",
        "label": "Lessee, Liability, Undiscounted Excess Amount",
        "terseLabel": "Less: imputed interest"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of lease maturities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1155"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due",
        "totalLabel": "Total future minimum lease payments",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Five",
        "terseLabel": "Thereafter",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months",
        "terseLabel": "2024",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five",
        "terseLabel": "2028",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four",
        "terseLabel": "2027",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three",
        "terseLabel": "2026",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two",
        "terseLabel": "2025",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "terseLabel": "Less: imputed interest",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "csiq_LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseTermOfContract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Term of Contract",
        "terseLabel": "Lease term",
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r1153"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLease"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "LEASE",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r741"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total liabilities",
        "totalLabel": "TOTAL LIABILITIES",
        "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."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r320",
      "r413",
      "r484",
      "r485",
      "r487",
      "r488",
      "r489",
      "r491",
      "r493",
      "r495",
      "r496",
      "r701",
      "r704",
      "r705",
      "r720",
      "r882",
      "r987",
      "r1031",
      "r1104",
      "r1159",
      "r1160"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity",
        "totalLabel": "TOTAL LIABILITIES AND EQUITY",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r172",
      "r238",
      "r815",
      "r1016",
      "r1070",
      "r1086",
      "r1151"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "LIABILITIES AND EQUITY",
        "verboseLabel": "LIABILITIES AND EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total current liabilities",
        "totalLabel": "Total current liabilities",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r271",
      "r320",
      "r413",
      "r484",
      "r485",
      "r487",
      "r488",
      "r489",
      "r491",
      "r493",
      "r495",
      "r496",
      "r701",
      "r704",
      "r705",
      "r720",
      "r1016",
      "r1104",
      "r1159",
      "r1160"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LiabilitiesLesseeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LiabilitiesLesseeAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "NA",
        "label": "Liabilities, Lessee [Abstract]",
        "terseLabel": "Liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilityForUncertainTaxPositionsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilityForUncertainTaxPositionsNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liability for Uncertain Tax Positions, Noncurrent",
        "terseLabel": "Liability for uncertain tax positions",
        "documentation": "Amount recognized for uncertainty in income taxes classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r47"
     ]
    },
    "us-gaap_LineOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCredit",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Amount Outstanding",
        "terseLabel": "Outstanding balance",
        "verboseLabel": "Amount drawn of bank credit facilities granted",
        "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."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r235",
      "r1169"
     ]
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lender Name [Axis]",
        "documentation": "Information by name of lender, which may be a single entity (for example, but not limited to, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r1069"
     ]
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityLenderDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Lender [Domain]",
        "documentation": "Identification of the lender, which may be a single entity (for example, a bank, pension fund, venture capital firm) or a group of entities that participate in the line of credit, including a letter of credit facility."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r1069"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "verboseLabel": "Maximum borrowing capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r40"
     ]
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Remaining Borrowing Capacity",
        "terseLabel": "Available amount of credit facilities",
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)."
       }
      }
     },
     "auth_ref": [
      "r40"
     ]
    },
    "us-gaap_LineOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit facility",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LingangFrontierCsiNewEnergyInvestmentFundLpMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Lingang Frontier (Yangzhou) CSI New Energy Investment Fund, LP.",
        "label": "Lingang Frontier CSI New Energy Investment Fund, LP [Member]",
        "terseLabel": "Lingang Frontier CSI New Energy Investment Fund, LP"
       }
      }
     },
     "auth_ref": []
    },
    "srt_LitigationCaseAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "LitigationCaseAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Litigation Case [Axis]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_LitigationCaseTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "LitigationCaseTypeDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Litigation Case [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LoanFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LoanFacilityMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to loan facility.",
        "label": "Loan Facility [Member]",
        "terseLabel": "Loan facility"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LoansAndLeasesReceivableRelatedParties": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LoansAndLeasesReceivableRelatedParties",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loans and Leases Receivable, Related Parties",
        "terseLabel": "Shareholder loans due from related parties",
        "documentation": "For an unclassified balance sheet, reflects the carrying amount of unpaid loan amounts due from related parties at the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r151",
      "r156"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongLivedAssetsByGeographicAreasTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r28"
     ]
    },
    "csiq_LongTermBorrowingsOnProjectAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LongTermBorrowingsOnProjectAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt",
        "totalLabel": "Total",
        "verboseLabel": "Long-term borrowings",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r235",
      "r510",
      "r524",
      "r993",
      "r994",
      "r1169"
     ]
    },
    "us-gaap_LongTermDebtByMaturityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtByMaturityAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Fiscal Year Maturity [Abstract]",
        "terseLabel": "Future principal repayment on the long-term borrowings loans"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Maturities, Repayments of Principal after Year Five",
        "terseLabel": "Thereafter",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r327",
      "r1109"
     ]
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Maturities, Repayments of Principal in Next Twelve Months",
        "terseLabel": "2024",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r327",
      "r515"
     ]
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Five",
        "terseLabel": "2028",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r327",
      "r515"
     ]
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Four",
        "terseLabel": "2027",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r327",
      "r515"
     ]
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Three",
        "terseLabel": "2026",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r327",
      "r515"
     ]
    },
    "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails": {
       "parentTag": "us-gaap_LongTermDebt",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Maturities, Repayments of Principal in Year Two",
        "terseLabel": "2025",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r327",
      "r515"
     ]
    },
    "us-gaap_LongTermDebtMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term borrowings",
        "documentation": "Debt arrangement having an initial term longer than one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebtWeightedAverageInterestRateOverTime": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermDebtWeightedAverageInterestRateOverTime",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Weighted Average Interest Rate, over Time",
        "terseLabel": "Average interest rate on long-term borrowings (as a percent)",
        "documentation": "Weighted average interest rate of long-term debt outstanding calculated over time."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermNotesAndLoans": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermNotesAndLoans",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes and Loans, Noncurrent",
        "terseLabel": "Long-term borrowings",
        "totalLabel": "Subtotal for long-term borrowings",
        "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."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "us-gaap_LongTermPurchaseCommitmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermPurchaseCommitmentTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Purchase Commitment [Table Text Block]",
        "terseLabel": "Schedule of payment for commitments",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongtermDebtTypeAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Type [Axis]",
        "documentation": "Information by type of long-term debt."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongtermDebtTypeDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term Debt, Type [Domain]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r97"
     ]
    },
    "us-gaap_LossContingenciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LossContingenciesLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss Contingencies [Line Items]",
        "verboseLabel": "COMMITMENTS AND CONTINGENCIES",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r465",
      "r466",
      "r467",
      "r470",
      "r1093",
      "r1094"
     ]
    },
    "us-gaap_LossContingenciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LossContingenciesTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss Contingencies [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r465",
      "r466",
      "r467",
      "r470",
      "r1093",
      "r1094"
     ]
    },
    "csiq_LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "LuoyangJiwaNewMaterialTechnologyCo.LtdMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "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]"
       }
      }
     },
     "auth_ref": []
    },
    "country_MX": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "MX",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Mexico"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Machinery",
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_MajorCustomersDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "MajorCustomersDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "MAJOR CUSTOMERS"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_MajorCustomersDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "MajorCustomersDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomers"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_MarangatuHoldingS.aMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "MarangatuHoldingS.aMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Marangatu Holding S.A.",
        "label": "Marangatu Holding S.A",
        "terseLabel": "Marangatu"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MarketableSecuritiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MarketableSecuritiesCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Marketable Securities, Current",
        "terseLabel": "Carried at fair value",
        "documentation": "Amount of investment in marketable security, classified as current."
       }
      }
     },
     "auth_ref": [
      "r1056"
     ]
    },
    "us-gaap_MarketableSecuritiesUnrealizedGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MarketableSecuritiesUnrealizedGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Marketable Security, Unrealized Gain (Loss)",
        "terseLabel": "Fair value (gain) losses",
        "documentation": "Amount of unrealized gain (loss) on investment in marketable security."
       }
      }
     },
     "auth_ref": [
      "r180"
     ]
    },
    "csiq_MaterialAndWorkmanShipMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "MaterialAndWorkmanShipMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to material and workmanship.",
        "label": "Material and workmanship"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "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",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum",
        "terseLabel": "Maximum"
       }
      }
     },
     "auth_ref": [
      "r466",
      "r467",
      "r468",
      "r469",
      "r613",
      "r778",
      "r847",
      "r872",
      "r873",
      "r935",
      "r937",
      "r939",
      "r940",
      "r948",
      "r967",
      "r968",
      "r989",
      "r997",
      "r1007",
      "r1018",
      "r1108",
      "r1161",
      "r1162",
      "r1163",
      "r1164",
      "r1165",
      "r1166"
     ]
    },
    "csiq_MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "MaximumUsefulLifeOfProjectsToBeTransferredToOfftaker",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "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",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum",
        "terseLabel": "Minimum"
       }
      }
     },
     "auth_ref": [
      "r466",
      "r467",
      "r468",
      "r469",
      "r613",
      "r778",
      "r847",
      "r872",
      "r873",
      "r935",
      "r937",
      "r939",
      "r940",
      "r948",
      "r967",
      "r968",
      "r989",
      "r997",
      "r1007",
      "r1018",
      "r1108",
      "r1161",
      "r1162",
      "r1163",
      "r1164",
      "r1165",
      "r1166"
     ]
    },
    "csiq_MinimumModuleEfficiency": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "MinimumModuleEfficiency",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the minimum module efficiency.",
        "label": "Minimum Module Efficiency",
        "terseLabel": "Minimum module efficiency"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MinorityInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MinorityInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Noncontrolling Interest",
        "terseLabel": "Non-controlling interests",
        "documentation": "Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r237",
      "r320",
      "r413",
      "r484",
      "r487",
      "r488",
      "r489",
      "r495",
      "r496",
      "r720",
      "r814",
      "r886"
     ]
    },
    "us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders",
        "negatedLabel": "Sales proceed distribution to non-controlling interests",
        "verboseLabel": "Increase in the Company's transfer of equity interest in subsidiary and subsidiary's offering of its equity interests",
        "documentation": "Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders."
       }
      }
     },
     "auth_ref": [
      "r212"
     ]
    },
    "us-gaap_MinorityInterestDecreaseFromRedemptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MinorityInterestDecreaseFromRedemptions",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest, Decrease from Redemptions or Purchase of Interests",
        "negatedLabel": "Acquisition of non-controlling interest's ownership",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r117",
      "r212",
      "r224"
     ]
    },
    "us-gaap_MinorityInterestDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MinorityInterestDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterests"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest Disclosure [Text Block]",
        "terseLabel": "NON-CONTROLLING INTERESTS",
        "documentation": "The entire disclosure for noncontrolling interest in consolidated subsidiaries, which could include the name of the subsidiary, the ownership percentage held by the parent, the ownership percentage held by the noncontrolling owners, the amount of the noncontrolling interest, the location of this amount on the balance sheet (when not reported separately), an explanation of the increase or decrease in the amount of the noncontrolling interest, the noncontrolling interest share of the net Income or Loss of the subsidiary, the location of this amount on the income statement (when not reported separately), the nature of the noncontrolling interest such as background information and terms, the amount of the noncontrolling interest represented by preferred stock, a description of the preferred stock, and the dividend requirements of the preferred stock."
       }
      }
     },
     "auth_ref": [
      "r222"
     ]
    },
    "us-gaap_MinorityInterestOwnershipPercentageByNoncontrollingOwners": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MinorityInterestOwnershipPercentageByNoncontrollingOwners",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest, Ownership Percentage by Noncontrolling Owners",
        "terseLabel": "Ownership percentage by non-controlling owners",
        "documentation": "The equity interest of noncontrolling shareholders, partners or other equity holders in consolidated entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MinorityInterestOwnershipPercentageByParent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MinorityInterestOwnershipPercentageByParent",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest, Ownership Percentage by Parent",
        "terseLabel": "Noncontrolling interest ownership percentage",
        "documentation": "The parent entity's interest in net assets of the subsidiary, expressed as a percentage."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MovementInStandardAndExtendedProductWarrantyIncreaseDecreaseRollForward",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Movement in Standard and Extended Product Warranty, Increase (Decrease) [Roll Forward]",
        "terseLabel": "ACCRUED WARRANTY COSTS",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MovementInValuationAllowancesAndReservesRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MovementInValuationAllowancesAndReservesRollForward",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Movement in Valuation Allowances and Reserves [Roll Forward]",
        "terseLabel": "Movement of allowances",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "country_NL": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "NL",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Netherlands"
       }
      }
     },
     "auth_ref": []
    },
    "country_NO": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "NO",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NORWAY",
        "terseLabel": "Norway"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NatureOfOperations": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NatureOfOperations",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nature of Operations [Text Block]",
        "terseLabel": "ORGANIZATION AND PRINCIPAL ACTIVITIES",
        "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."
       }
      }
     },
     "auth_ref": [
      "r249",
      "r262"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations",
        "totalLabel": "Net cash provided by financing activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r314"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]",
        "terseLabel": "Financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r314"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]",
        "terseLabel": "Investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations",
        "totalLabel": "Net cash provided by (used in) operating activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r192",
      "r193",
      "r194"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]",
        "terseLabel": "Operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss) Attributable to Noncontrolling Interest",
        "terseLabel": "Less: net income attributable to non-controlling interests",
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r125",
      "r225",
      "r292",
      "r295",
      "r344",
      "r345",
      "r822",
      "r1062"
     ]
    },
    "us-gaap_NetIncomeLossAttributableToParentDiluted": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLossAttributableToParentDiluted",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss) Attributable to Parent, Diluted",
        "terseLabel": "Net income attributable to Canadian Solar Inc. - diluted",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasic",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails": {
       "parentTag": "us-gaap_ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders."
       }
      }
     },
     "auth_ref": [
      "r309",
      "r338",
      "r339",
      "r340",
      "r341",
      "r347",
      "r348",
      "r356",
      "r359",
      "r370",
      "r384",
      "r390",
      "r393",
      "r988"
     ]
    },
    "csiq_NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "parentTag": "us-gaap_OtherOperatingIncomeExpenseNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recently issued accounting pronouncements",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_NinthAdministrativeReviewOfSolarOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "NinthAdministrativeReviewOfSolarOneMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Ninth administrative review of Solar 1 by U.S. Department of Commerce.",
        "label": "Ninth Administrative Review of Solar One [Member]",
        "terseLabel": "Ninth administrative review of Solar 1"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_NonBindingLineOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "NonBindingLineOfCreditMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_NonCashOperatingLeaseExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "NonCashOperatingLeaseExpenses",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_NonRecourseProjectBondsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "NonRecourseProjectBondsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to non-recourse project bonds.",
        "label": "Non Recourse Project bonds [Member]",
        "terseLabel": "Non Recourse Project bonds"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_NonRecourseProjectFinanceFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "NonRecourseProjectFinanceFacilityMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to non-recourse project finance facility.",
        "label": "Non Recourse Project Finance Facility [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncash Investing and Financing Items [Abstract]",
        "terseLabel": "Supplemental schedule of non-cash activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncontrollingInterestAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncontrollingInterestAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "NON-CONTROLLING INTERESTS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest, Increase from Sale of Parent Equity Interest",
        "terseLabel": "Proceeds from non-controlling interests",
        "documentation": "Amount of increase in noncontrolling interest from sale of a portion of the parent's controlling interest."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r101",
      "r224"
     ]
    },
    "us-gaap_NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling Interest, Increase from Subsidiary Equity Issuance",
        "verboseLabel": "Transfer of equity interest in subsidiary to non-controlling interest",
        "documentation": "Amount of increase in noncontrolling interest from subsidiary issuance of equity interests to noncontrolling interest holders."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r101",
      "r224"
     ]
    },
    "csiq_NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in noncontrolling interest from shares of subsidiary under employee incentive plan.",
        "label": "Noncontrolling Interest, Increase From Subsidiary Shares Under Employee Incentive Plan",
        "terseLabel": "Subsidiary's shares under employee incentive plan"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncontrollingInterestMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncontrollingInterestMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Controlling Interests",
        "terseLabel": "Non-Controlling Interest",
        "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r527",
      "r1079",
      "r1080",
      "r1081",
      "r1176"
     ]
    },
    "us-gaap_NoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncurrentAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Assets",
        "terseLabel": "Total long-lived assets",
        "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r398"
     ]
    },
    "us-gaap_NondesignatedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NondesignatedMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Not designated as hedging instruments",
        "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP)."
       }
      }
     },
     "auth_ref": [
      "r26"
     ]
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonoperating Income (Expense)",
        "totalLabel": "Total other income (expenses)",
        "verboseLabel": "Other income (expenses), net:",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r188"
     ]
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpenseAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonoperating Income (Expense) [Abstract]",
        "terseLabel": "Other income (expenses):"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NonrecourseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonrecourseMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-recourse",
        "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."
       }
      }
     },
     "auth_ref": [
      "r701",
      "r705"
     ]
    },
    "us-gaap_NonrelatedPartyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonrelatedPartyMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonrelated Party [Member]",
        "terseLabel": "Non-related party",
        "documentation": "Party not related to reporting entity."
       }
      }
     },
     "auth_ref": [
      "r1072",
      "r1073"
     ]
    },
    "us-gaap_NotesPayableAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NotesPayableAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "SHORT-TERM NOTES PAYABLE"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_NumberOfBoardMembers": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "NumberOfBoardMembers",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of board members.",
        "label": "Number of Board Members",
        "terseLabel": "Total board members"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_NumberOfBoardMembersDesignatedByTheAcquiredEntity": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "NumberOfBoardMembersDesignatedByTheAcquiredEntity",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_NumberOfBoardOfInvestmentCertificatesTaxExemption": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "NumberOfBoardOfInvestmentCertificatesTaxExemption",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_NumberOfMonocrystallineSiliconPhotovoltaicCells": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "NumberOfMonocrystallineSiliconPhotovoltaicCells",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of monocrystalline silicon photovoltaic cells.",
        "label": "Number of Monocrystalline Silicon Photovoltaic Cells",
        "terseLabel": "Number of monocrystalline silicon photovoltaic cells"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_NumberOfMonocrystallineSiliconPhotovoltaicHalfCells": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "NumberOfMonocrystallineSiliconPhotovoltaicHalfCells",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of monocrystalline silicon photovoltaic half-cells.",
        "label": "Number of Monocrystalline Silicon Photovoltaic Half-cells",
        "terseLabel": "Number of monocrystalline silicon photovoltaic half-cells"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_NumberOfOtherParticipatingFinancialInstitutions": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "NumberOfOtherParticipatingFinancialInstitutions",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Reportable Segments",
        "terseLabel": "Number of principal reportable business segments",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1083"
     ]
    },
    "csiq_NumberOfTranches": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "NumberOfTranches",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of tranches.",
        "label": "Number of Tranches",
        "terseLabel": "Number of tranches"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_NumberOfUnitsHeldAsInvestments": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "NumberOfUnitsHeldAsInvestments",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of units held as investments.",
        "label": "Number of Units Held as Investments",
        "terseLabel": "Number of units held"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_OMServiceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "OMServiceMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to O &amp; M service.",
        "label": "O &amp; M Service"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses",
        "terseLabel": "Total operating expenses",
        "totalLabel": "Total operating expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses [Abstract]",
        "terseLabel": "Operating expenses:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Income (Loss)",
        "terseLabel": "Income from operations",
        "totalLabel": "Income from operations",
        "verboseLabel": "Loss from operations",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r370",
      "r384",
      "r390",
      "r393",
      "r988"
     ]
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Cost",
        "terseLabel": "Operating fixed lease cost",
        "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."
       }
      }
     },
     "auth_ref": [
      "r752",
      "r1015"
     ]
    },
    "us-gaap_OperatingLeaseIncomeComprehensiveIncomeExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseIncomeComprehensiveIncomeExtensibleList",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Lease Income, Statement of Income or Comprehensive Income [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of comprehensive income that includes operating lease income."
       }
      }
     },
     "auth_ref": [
      "r759"
     ]
    },
    "us-gaap_OperatingLeaseLeaseIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLeaseIncome",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Lease Income",
        "terseLabel": "Operating lease income",
        "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."
       }
      }
     },
     "auth_ref": [
      "r364",
      "r759",
      "r760"
     ]
    },
    "us-gaap_OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilitiesGrossDifferenceAmountAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease Liabilities, Gross Difference, Amount [Abstract]",
        "terseLabel": "Operating leases, gross difference"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payment, Due [Abstract]",
        "terseLabel": "Maturities of operating leases",
        "verboseLabel": "Year Ending December 31:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability",
        "totalLabel": "Total operating lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r743"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liabilities",
        "verboseLabel": "Operating lease liabilities, current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r743"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating lease liabilities",
        "verboseLabel": "Operating lease liabilities, noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r743"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Payments",
        "negatedLabel": "Operating cash outflows from operating lease",
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use."
       }
      }
     },
     "auth_ref": [
      "r747",
      "r754"
     ]
    },
    "us-gaap_OperatingLeasePaymentsUse": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasePaymentsUse",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Payments, Use",
        "negatedLabel": "Acquisition of right-of-use assets",
        "documentation": "Amount of cash outflow from operating lease to bring another asset to condition and location necessary for its intended use."
       }
      }
     },
     "auth_ref": [
      "r747",
      "r754"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 12.0
      },
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Right-of-use assets",
        "totalLabel": "Total operating lease ROU assets",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r742"
     ]
    },
    "csiq_OperatingLeaseRightOfUseAssetExcludingLandUseRights": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "OperatingLeaseRightOfUseAssetExcludingLandUseRights",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails": {
       "parentTag": "us-gaap_OperatingLeaseRightOfUseAsset",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseSupplementBalanceSheetInformationDetails"
     ],
     "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 assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted average of lease discount rate - operating lease",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r757",
      "r1015"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted average of remaining lease term - operating leases (in years)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r756",
      "r1015"
     ]
    },
    "us-gaap_OperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Loss Carryforwards",
        "terseLabel": "Accumulated net operating losses",
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r109"
     ]
    },
    "csiq_OperatingLossCarryforwardsSubjectToExpiration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "OperatingLossCarryforwardsSubjectToExpiration",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingSegmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingSegmentsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating segment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r393"
     ]
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "ORGANIZATION AND PRINCIPAL ACTIVITIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]",
        "terseLabel": "SUMMARY OF PRINCIPAL ACCOUNTING POLICIES",
        "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."
       }
      }
     },
     "auth_ref": [
      "r195",
      "r196",
      "r197",
      "r222"
     ]
    },
    "us-gaap_OtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets",
        "terseLabel": "Other assets",
        "documentation": "Amount of assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r231",
      "r277",
      "r806",
      "r1031"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other non-current assets",
        "terseLabel": "Other non-current assets",
        "verboseLabel": "Other non-current assets",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r277"
     ]
    },
    "us-gaap_OtherBorrowings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherBorrowings",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Borrowings",
        "terseLabel": "Borrowings",
        "documentation": "The carrying amount as of the balance sheet date for the aggregate of other miscellaneous borrowings owed by the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r239"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss) Arising During Period, Net of Tax",
        "terseLabel": "Foreign currency translation adjustment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r176",
      "r723",
      "r725",
      "r728"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), before Adjustment, after Tax",
        "terseLabel": "Gain (loss) on changes in fair value of available-for-sale debt securities, net of tax",
        "verboseLabel": "Fair value change of available-for-sale debt securities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r289",
      "r290"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax",
        "terseLabel": "Fair value change on derivatives (interest rate swap)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r287",
      "r291"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Derivative, Excluded Component, Increase (Decrease), before Adjustments, after Tax",
        "terseLabel": "Share of gain on changes in fair value of interest rate swap of affiliate, net of tax",
        "verboseLabel": "Share of fair value change on interest rate swap of affiliates",
        "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."
       }
      }
     },
     "auth_ref": [
      "r288",
      "r291",
      "r706",
      "r708"
     ]
    },
    "csiq_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Other comprehensive income (loss) (net of tax)",
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r31",
      "r293",
      "r296",
      "r303",
      "r729",
      "r730",
      "r735",
      "r797",
      "r823",
      "r1060",
      "r1061"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income, Net of Tax, Portion Attributable to Parent",
        "terseLabel": "Other comprehensive income (loss):"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, after Tax",
        "terseLabel": "Gain of investments",
        "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale."
       }
      }
     },
     "auth_ref": [
      "r289",
      "r291",
      "r405"
     ]
    },
    "csiq_OtherCountriesAmericaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "OtherCountriesAmericaMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to other countries in America.",
        "label": "Other Countries America [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_OtherCountriesAsiaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "OtherCountriesAsiaMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to other regions in Asia.",
        "label": "Other Countries Asia [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_OtherCountriesEuropeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "OtherCountriesEuropeMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to other countries in Europe.",
        "label": "Other Countries Europe [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherCurrentLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherCurrentLiabilitiesMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other current liabilities.",
        "terseLabel": "Other current liabilities",
        "documentation": "Primary financial statement caption encompassing other current liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_OtherEquityMethodInvesteesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "OtherEquityMethodInvesteesMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the other equity method investees.",
        "label": "Other Equity Method Investees [Member]",
        "terseLabel": "Others"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_OtherJurisdictionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "OtherJurisdictionsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to other jurisdictions where the entity has operations.",
        "label": "Other"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Liabilities",
        "verboseLabel": "Other liabilities",
        "documentation": "Amount of liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r804",
      "r877",
      "r878",
      "r1031",
      "r1174"
     ]
    },
    "us-gaap_OtherLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other current liabilities",
        "terseLabel": "Other current liabilities",
        "verboseLabel": "Other current liabilities",
        "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r1016"
     ]
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other non-current liabilities",
        "terseLabel": "Other non-current liabilities",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r47"
     ]
    },
    "us-gaap_OtherLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLongTermDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Long-Term Debt",
        "terseLabel": "Other long-term borrowings",
        "documentation": "Amount of long-term debt classified as other."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r235",
      "r1169"
     ]
    },
    "us-gaap_OtherLongTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLongTermInvestments",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementMarketableSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Long-Term Investments",
        "documentation": "Amount of long-term investments classified as other."
       }
      }
     },
     "auth_ref": [
      "r805",
      "r1054"
     ]
    },
    "csiq_OtherNoncurrentAssetsAdjustment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "OtherNoncurrentAssetsAdjustment",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherNoncurrentAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNoncurrentAssetsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other non-current assets.",
        "documentation": "Primary financial statement caption encompassing other noncurrent assets."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherNoncurrentLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNoncurrentLiabilitiesMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Noncurrent Liabilities [Member]",
        "terseLabel": "Other noncurrent liabilities",
        "verboseLabel": "Other non-current liabilities",
        "documentation": "Primary financial statement caption encompassing other noncurrent liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherOperatingActivitiesCashFlowStatement": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherOperatingActivitiesCashFlowStatement",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 36.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Operating Activities, Cash Flow Statement",
        "terseLabel": "Loss contingency accruals",
        "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)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherOperatingIncomeExpenseNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherOperatingIncomeExpenseNet",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": -1.0,
       "order": 4.0
      },
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Operating Income (Expense), Net",
        "negatedLabel": "Other operating income, net",
        "negatedTerseLabel": "Other operating income, net",
        "negatedTotalLabel": "Other operating income, net",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_OtherOperatingIncomeExpensePolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "OtherOperatingIncomeExpensePolicyPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherReceivableAfterAllowanceForCreditLossNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Receivable, after Allowance for Credit Loss, Noncurrent",
        "terseLabel": "Amounts due from related parties",
        "verboseLabel": "Amount due from related parties, Non current",
        "documentation": "Amount, after allowance for credit loss, of receivable classified as other and noncurrent."
       }
      }
     },
     "auth_ref": [
      "r1055"
     ]
    },
    "us-gaap_OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Receivable, after Allowance for Credit Loss, Noncurrent, Related Party, Type [Extensible Enumeration]",
        "documentation": "Indicates type of related party for receivable, after allowance for credit loss, classified as other and noncurrent."
       }
      }
     },
     "auth_ref": [
      "r1158"
     ]
    },
    "us-gaap_OtherReceivablesNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherReceivablesNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Due from Related Parties, Current",
        "positiveLabel": "Amounts due from subsidiaries",
        "terseLabel": "Amounts due from related parties",
        "verboseLabel": "Amount due from related parties, current",
        "documentation": "Amount, after allowance, of receivables classified as other, due within one year or the operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherShortTermBorrowings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherShortTermBorrowings",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Short-term Borrowings",
        "terseLabel": "Other short-term borrowings",
        "documentation": "Amount of borrowings classified as other, maturing within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r38",
      "r881"
     ]
    },
    "srt_OwnershipAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "OwnershipAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Axis]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_OwnershipDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "OwnershipDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ownership [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "country_PH": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "PH",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PHILIPPINES",
        "terseLabel": "Philippines"
       }
      }
     },
     "auth_ref": []
    },
    "country_PK": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "PK",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pakistan"
       }
      }
     },
     "auth_ref": []
    },
    "country_PR": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "PR",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PUERTO RICO",
        "terseLabel": "Puerto Rico"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_PanatiHoldingS.a.Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PanatiHoldingS.a.Member",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Panati Holding S.A.",
        "label": "Panati"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ParentCompanyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ParentCompanyMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Parent Company"
       }
      }
     },
     "auth_ref": [
      "r327"
     ]
    },
    "us-gaap_ParentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ParentMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Attributable to Canadian Solar Inc.",
        "terseLabel": "Equity (Deficits) Attribute to Canadian Solar Inc.",
        "documentation": "Portion of equity, or net assets, in the consolidated entity attributable, directly or indirectly, to the parent. Excludes noncontrolling interests."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_PaymentsForFinancingCashFlowsFromFinanceLease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PaymentsForFinancingCashFlowsFromFinanceLease",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_PaymentsForProceedsFromLoansToSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PaymentsForProceedsFromLoansToSubsidiaries",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "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": "Loans to subsidiaries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsOfDividendsMinorityInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfDividendsMinorityInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments of Ordinary Dividends, Noncontrolling Interest",
        "negatedLabel": "Distribution to non - controlling interests",
        "documentation": "Amount of cash outflow in the form of ordinary dividends provided by the non-wholly owned subsidiary to noncontrolling interests."
       }
      }
     },
     "auth_ref": [
      "r61"
     ]
    },
    "us-gaap_PaymentsOfStockIssuanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsOfStockIssuanceCosts",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments of Stock Issuance Costs",
        "negatedLabel": "Cash payment for transaction costs of subsidiary's offering",
        "terseLabel": "Commissions and offering expenses",
        "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security."
       }
      }
     },
     "auth_ref": [
      "r60"
     ]
    },
    "us-gaap_PaymentsToAcquireAdditionalInterestInSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireAdditionalInterestInSubsidiaries",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Additional Interest in Subsidiaries",
        "negatedLabel": "Acquisition of subsidiaries, net of cash",
        "documentation": "The cash outflow associated with the purchase of noncontrolling interest during the period."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "csiq_PaymentsToAcquireAffiliates": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PaymentsToAcquireAffiliates",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of payments to acquire affiliates.",
        "label": "Payments to Acquire Affiliates",
        "negatedLabel": "Investments in affiliates"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsToAcquireEquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireEquityMethodInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Equity Method Investments",
        "negatedLabel": "Investments in affiliates",
        "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."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "us-gaap_PaymentsToAcquireEquitySecuritiesFvNi": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireEquitySecuritiesFvNi",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Equity Securities, FV-NI",
        "negatedLabel": "Investment in equity securities",
        "documentation": "Amount of cash outflow to acquire investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI), classified as investing activity."
       }
      }
     },
     "auth_ref": [
      "r244",
      "r311"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchase of property, plant and equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r191"
     ]
    },
    "csiq_PaymentsToAcquireSolarPowerSystems": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PaymentsToAcquireSolarPowerSystems",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_PaymentsToAcquireSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PaymentsToAcquireSubsidiaries",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Payments to Acquire Subsidiaries.",
        "label": "Payments to Acquire Subsidiaries",
        "negatedTerseLabel": "Investments in subsidiaries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsToMinorityShareholders": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToMinorityShareholders",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Noncontrolling Interests",
        "negatedTerseLabel": "Acquisition of non-controlling interests",
        "documentation": "Amount of cash outflow to a noncontrolling interest. Includes, but not limited to, reduction of noncontrolling interest ownership. Excludes dividends paid to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r60"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension and Other Postretirement Benefits Disclosure [Text Block]",
        "terseLabel": "EMPLOYEE BENEFIT PLANS",
        "documentation": "The entire disclosure for retirement benefits."
       }
      }
     },
     "auth_ref": [
      "r542",
      "r564",
      "r566",
      "r572",
      "r590",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r610",
      "r611",
      "r612",
      "r1006"
     ]
    },
    "csiq_PercentageOfVotingRightsInExchangeOfInvestment": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PercentageOfVotingRightsInExchangeOfInvestment",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of voting rights obtained in exchange of the investment.",
        "label": "Percentage Of Voting Rights In Exchange Of Investment",
        "terseLabel": "Percentage of voting rights"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1121",
      "r1122",
      "r1123",
      "r1124",
      "r1125",
      "r1126",
      "r1127",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1132",
      "r1133",
      "r1134",
      "r1135",
      "r1136",
      "r1137",
      "r1138",
      "r1139",
      "r1140",
      "r1141",
      "r1142"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1121",
      "r1122",
      "r1123",
      "r1124",
      "r1125",
      "r1126",
      "r1127",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1132",
      "r1133",
      "r1134",
      "r1135",
      "r1136",
      "r1137",
      "r1138",
      "r1139",
      "r1140",
      "r1141",
      "r1142"
     ]
    },
    "csiq_PledgedAssetsNotSeparatelyReportedAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PledgedAssetsNotSeparatelyReportedAccountsReceivable",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_PledgedAssetsNotSeparatelyReportedInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PledgedAssetsNotSeparatelyReportedInventory",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_PledgedAssetsNotSeparatelyReportedLandUseRights": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PledgedAssetsNotSeparatelyReportedLandUseRights",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_PledgedAssetsNotSeparatelyReportedProjectAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PledgedAssetsNotSeparatelyReportedProjectAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_PledgedAssetsNotSeparatelyReportedRestrictedCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PledgedAssetsNotSeparatelyReportedRestrictedCash",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_PledgedAssetsSolarPowerSystems": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PledgedAssetsSolarPowerSystems",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_PledgedEquityNotSeparatelyReported": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PledgedEquityNotSeparatelyReported",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PledgedStatusAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PledgedStatusAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pledged Status [Axis]",
        "documentation": "Information by pledged or not pledged status of asset owned by entity."
       }
      }
     },
     "auth_ref": [
      "r700",
      "r875",
      "r1011"
     ]
    },
    "us-gaap_PledgedStatusDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PledgedStatusDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pledged Status [Domain]",
        "documentation": "Pledged or not pledged status of asset owned by entity."
       }
      }
     },
     "auth_ref": [
      "r700",
      "r875",
      "r1011"
     ]
    },
    "csiq_PowerServicesOMAndAssetManagementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PowerServicesOMAndAssetManagementMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Power services (O&amp;M) and asset management member.",
        "label": "Power services (O&amp;M) and asset management [Member]",
        "terseLabel": "Power services (O&amp;M) and asset management"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_PreferentialWithholdingTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PreferentialWithholdingTaxRate",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the preferential withholding tax rate.",
        "label": "Preferential Withholding Tax Rate",
        "terseLabel": "Preferential withholding tax rate (as a percent)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid expenses and other current assets",
        "terseLabel": "Prepaid expenses and other current assets",
        "verboseLabel": "Prepaid expenses and other current assets",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1059"
     ]
    },
    "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpensesAndOtherCurrentAssetsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expenses And Other Current Assets [Member]",
        "terseLabel": "Prepaid expenses and other current assets",
        "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PriorPeriodReclassificationAdjustmentDescription": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PriorPeriodReclassificationAdjustmentDescription",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reclassification, Comparability Adjustment [Policy Text Block]",
        "terseLabel": "Reclassifications",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1051"
     ]
    },
    "us-gaap_ProceedsFromConvertibleDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromConvertibleDebt",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Convertible Debt",
        "terseLabel": "Net proceeds from issuance of green bonds",
        "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."
       }
      }
     },
     "auth_ref": [
      "r59"
     ]
    },
    "csiq_ProceedsFromConvertibleDebtAdditionalIssuance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProceedsFromConvertibleDebtAdditionalIssuance",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ProceedsFromConvertibleDebtInitialIssuance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProceedsFromConvertibleDebtInitialIssuance",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Equity Method Investment, Dividends or Distributions, Return of Capital",
        "terseLabel": "Return of capital from affiliates",
        "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."
       }
      }
     },
     "auth_ref": [
      "r313",
      "r1065"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from issuance of common stock",
        "verboseLabel": "Net proceeds from issuance of common shares",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfDebt",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Issuance of Debt",
        "terseLabel": "Amount drawn",
        "documentation": "The cash inflow during the period from additional borrowings in aggregate debt. Includes proceeds from short-term and long-term debt."
       }
      }
     },
     "auth_ref": [
      "r1066"
     ]
    },
    "csiq_ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromLinesOfCredit",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Lines of Credit",
        "terseLabel": "Amount drawn",
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r1069"
     ]
    },
    "csiq_ProceedsFromLoansFromSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProceedsFromLoansFromSubsidiaries",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow associated with loans from subsidiaries.",
        "label": "Proceeds From Loans from Subsidiaries",
        "verboseLabel": "Loans from a subsidiaries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromMinorityShareholders": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromMinorityShareholders",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Noncontrolling Interests",
        "terseLabel": "Proceeds from changes in ownership interests in subsidiaries without change of control",
        "verboseLabel": "Proceeds from non-controlling interests",
        "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."
       }
      }
     },
     "auth_ref": [
      "r58"
     ]
    },
    "us-gaap_ProceedsFromNotesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromNotesPayable",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Notes Payable",
        "terseLabel": "Proceeds from short-term borrowings",
        "documentation": "The cash inflow from a borrowing supported by a written promise to pay an obligation."
       }
      }
     },
     "auth_ref": [
      "r59"
     ]
    },
    "csiq_ProceedsFromPaymentsToMinorityShareHolder": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProceedsFromPaymentsToMinorityShareHolder",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromRepaymentsOfNotesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromRepaymentsOfNotesPayable",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from (Repayments of) Notes Payable",
        "verboseLabel": "Proceeds from (repayment of) short-term borrowings",
        "documentation": "Amount of cash inflow (outflow) from long-term debt supported by a written promise to pay an obligation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleOfEquityMethodInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfEquityMethodInvestments",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Sale of Equity Method Investments",
        "terseLabel": "Proceeds from disposal of investments in affiliates",
        "documentation": "The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Sale of Property, Plant, and Equipment",
        "terseLabel": "Proceeds from disposal of property, plant and equipment",
        "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."
       }
      }
     },
     "auth_ref": [
      "r190"
     ]
    },
    "csiq_ProceedsFromSaleOrDisposalOfSolarPowerSystems": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProceedsFromSaleOrDisposalOfSolarPowerSystems",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ProceedsFromSubsidiaryEquityOfferings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProceedsFromSubsidiaryEquityOfferings",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the subsidiary equity offerings.",
        "label": "Proceeds From Subsidiary Equity Offerings",
        "terseLabel": "Proceeds from subsidiary's offering of its equity interests"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the issuance of subsidiary offerings, net of transaction costs.",
        "label": "Proceeds From Subsidiary Equity Offerings, Net Of Transaction Costs",
        "terseLabel": "Net of transaction costs",
        "verboseLabel": "Net proceeds"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "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"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Products and Services [Axis]"
       }
      }
     },
     "auth_ref": [
      "r395",
      "r781",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r971",
      "r998",
      "r1017",
      "r1050",
      "r1095",
      "r1096",
      "r1111",
      "r1172"
     ]
    },
    "us-gaap_ProductWarrantiesDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantiesDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "ACCRUED WARRANTY COSTS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantyAccrualNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyAccrualNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Accrual, Noncurrent",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "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."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r1101",
      "r1102"
     ]
    },
    "us-gaap_ProductWarrantyAccrualPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyAccrualPayments",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Accrual, Payments",
        "negatedLabel": "Warranty costs incurred",
        "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."
       }
      }
     },
     "auth_ref": [
      "r482"
     ]
    },
    "us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyAccrualPreexistingIncreaseDecrease",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Standard and Extended Product Warranty Accrual, Increase (Decrease) for Preexisting Warranties",
        "terseLabel": "Warranty provision",
        "documentation": "Amount of increase (decrease) in the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties."
       }
      }
     },
     "auth_ref": [
      "r483"
     ]
    },
    "csiq_ProductWarrantyAccrualRateForSalesOfSolarModules": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProductWarrantyAccrualRateForSalesOfSolarModules",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantyDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Disclosure [Text Block]",
        "terseLabel": "ACCRUED WARRANTY COSTS",
        "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."
       }
      }
     },
     "auth_ref": [
      "r472",
      "r473",
      "r474",
      "r475",
      "r478",
      "r479"
     ]
    },
    "us-gaap_ProductWarrantyExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Expense",
        "terseLabel": "Warranty costs (net effect of adjustment) included in cost of revenues",
        "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."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r1098"
     ]
    },
    "us-gaap_ProductWarrantyLiabilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyLiabilityLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Liability [Line Items]",
        "terseLabel": "Warranty cost",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantyLiabilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyLiabilityTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Liability [Table]",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "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"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Products and Services [Domain]"
       }
      }
     },
     "auth_ref": [
      "r395",
      "r781",
      "r841",
      "r842",
      "r843",
      "r844",
      "r845",
      "r846",
      "r971",
      "r998",
      "r1017",
      "r1050",
      "r1095",
      "r1096",
      "r1111",
      "r1172"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Net income",
        "totalLabel": "Net income",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r269",
      "r292",
      "r295",
      "r312",
      "r320",
      "r336",
      "r344",
      "r345",
      "r370",
      "r384",
      "r390",
      "r393",
      "r413",
      "r484",
      "r485",
      "r487",
      "r488",
      "r489",
      "r491",
      "r493",
      "r495",
      "r496",
      "r699",
      "r702",
      "r703",
      "r717",
      "r720",
      "r802",
      "r821",
      "r864",
      "r905",
      "r927",
      "r928",
      "r988",
      "r1012",
      "r1013",
      "r1030",
      "r1062",
      "r1104"
     ]
    },
    "csiq_ProjectAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProjectAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ProjectAssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProjectAssetsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "PROJECT ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ProjectAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProjectAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information relating to project assets.",
        "label": "Project Assets Disclosure [Text Block]",
        "terseLabel": "PROJECT ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ProjectAssetsImpairmentCharge": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProjectAssetsImpairmentCharge",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails",
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ProjectAssetsPlantsAndLand": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProjectAssetsPlantsAndLand",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails": {
       "parentTag": "csiq_ProjectAssetsPlantsAndLand",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails": {
       "parentTag": "csiq_ProjectAssetsPlantsAndLand",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ProjectAssetsPlantsAndLandCurrentPortion": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProjectAssetsPlantsAndLandCurrentPortion",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ProjectAssetsPlantsAndLandNonCurrentPortion": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProjectAssetsPlantsAndLandNonCurrentPortion",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ProjectAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ProjectAssetsPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining project asset costs.",
        "label": "Project Assets [Policy Text Block]",
        "terseLabel": "Project assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProjectMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProjectMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Project [Domain]",
        "documentation": "Planned program of work."
       }
      }
     },
     "auth_ref": [
      "r153"
     ]
    },
    "csiq_PropertyAndEquipmentPurchaseCommitmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PropertyAndEquipmentPurchaseCommitmentMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "PROPERTY, PLANT AND EQUIPMENT, NET"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Type [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "terseLabel": "PROPERTY, PLANT AND EQUIPMENT, NET",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r202",
      "r253",
      "r257",
      "r258"
     ]
    },
    "csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PropertyPlantAndEquipmentExcludingConstructionInProgressNet",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "parentTag": "csiq_PropertyPlantAndEquipmentExcludingConstructionInProgressNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Gross",
        "terseLabel": "Property, plant and equipment, gross",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r203",
      "r274",
      "r818"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "terseLabel": "PROPERTY, PLANT AND EQUIPMENT, NET",
        "verboseLabel": "Property, plant and equipment",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Net.",
        "totalLabel": "Property, plant and equipment, net",
        "verboseLabel": "Property, plant and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r803",
      "r818",
      "r1016"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property, plant and equipment",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r253",
      "r257",
      "r816"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Type [Domain]",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r203"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Useful Life",
        "terseLabel": "Estimated useful lives",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 6.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for Doubtful Accounts",
        "terseLabel": "Allowance for credit losses",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r308",
      "r424"
     ]
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase Commitment, Excluding Long-term Commitment [Axis]",
        "documentation": "Information by arrangement, in which the entity has agreed to expend funds to procure goods or services from one or more suppliers."
       }
      }
     },
     "auth_ref": [
      "r163",
      "r236"
     ]
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase Commitment, Excluding Long-term Commitment [Domain]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r163",
      "r236"
     ]
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase Commitment, Excluding Long-term Commitment [Line Items]",
        "terseLabel": "Purchase commitments",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseCommitmentExcludingLongtermCommitmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseCommitmentExcludingLongtermCommitmentTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase Commitment, Excluding Long-term Commitment [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r163",
      "r236"
     ]
    },
    "us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseCommitmentRemainingMinimumAmountCommitted",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase Commitment, Remaining Minimum Amount Committed",
        "terseLabel": "2023",
        "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."
       }
      }
     },
     "auth_ref": [
      "r163",
      "r236"
     ]
    },
    "us-gaap_PurchaseObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase Obligation",
        "terseLabel": "Total",
        "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseObligationDueInFifthYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligationDueInFifthYear",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase Obligation, to be Paid, Year Five",
        "terseLabel": "2028",
        "documentation": "Amount of purchase arrangement to be paid in fifth 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)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseObligationDueInFourthYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligationDueInFourthYear",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase Obligation, to be Paid, Year Four",
        "terseLabel": "2027",
        "documentation": "Amount of purchase arrangement to be paid in fourth 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)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseObligationDueInNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligationDueInNextTwelveMonths",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase Obligation, Due in Next Twelve Months",
        "terseLabel": "2024",
        "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)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseObligationDueInSecondYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligationDueInSecondYear",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase Obligation, Due in Second Year",
        "terseLabel": "2025",
        "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)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PurchaseObligationDueInThirdYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PurchaseObligationDueInThirdYear",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase Obligation, Due in Third Year",
        "terseLabel": "2026",
        "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)."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_PurchaseOfUnitsPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "PurchaseOfUnitsPercentage",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the percentage of units purchased.",
        "label": "Purchase Of Units Percentage",
        "terseLabel": "Percent of units purchased"
       }
      }
     },
     "auth_ref": []
    },
    "country_RO": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "RO",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ROMANIA",
        "terseLabel": "Romania"
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "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",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Axis]"
       }
      }
     },
     "auth_ref": [
      "r466",
      "r467",
      "r468",
      "r469",
      "r564",
      "r613",
      "r645",
      "r646",
      "r647",
      "r774",
      "r778",
      "r847",
      "r872",
      "r873",
      "r935",
      "r937",
      "r939",
      "r940",
      "r948",
      "r967",
      "r968",
      "r989",
      "r997",
      "r1007",
      "r1018",
      "r1021",
      "r1090",
      "r1108",
      "r1162",
      "r1163",
      "r1164",
      "r1165",
      "r1166"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "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",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Domain]"
       }
      }
     },
     "auth_ref": [
      "r466",
      "r467",
      "r468",
      "r469",
      "r564",
      "r613",
      "r645",
      "r646",
      "r647",
      "r774",
      "r778",
      "r847",
      "r872",
      "r873",
      "r935",
      "r937",
      "r939",
      "r940",
      "r948",
      "r967",
      "r968",
      "r989",
      "r997",
      "r1007",
      "r1018",
      "r1021",
      "r1090",
      "r1108",
      "r1162",
      "r1163",
      "r1164",
      "r1165",
      "r1166"
     ]
    },
    "csiq_ReCrimsonHoldingsLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ReCrimsonHoldingsLlcMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "RE Crimson Holdings LLC.",
        "label": "Crimson"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReceivablesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReceivablesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "ALLOWANCE FOR CREDIT LOSSES"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ReclassificationFromInventoriesToSolarPowerSystems": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ReclassificationFromInventoriesToSolarPowerSystems",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The value of inventories reclassified to solar power systems under non-cash activity.",
        "label": "Reclassification From Inventories To Solar Power Systems",
        "terseLabel": "Reclassification from inventories to solar power systems"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ReclassificationFromProjectAssetsToSolarPowerSystems": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ReclassificationFromProjectAssetsToSolarPowerSystems",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The value of project assets reclassified to solar power systems under non-cash activity.",
        "label": "Reclassification From Project Assets To Solar Power Systems",
        "terseLabel": "Reclassification from project assets to solar power systems"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_RecurrentEnergyGroupInc.Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "RecurrentEnergyGroupInc.Member",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Recurrent Energy Group Inc. (formerly, Canadian Solar Energy Acquisition Co.).",
        "label": "Recurrent Energy Group Inc."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_RecurrentEnergyLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "RecurrentEnergyLlcMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Recurrent Energy, LLC.",
        "label": "Recurrent Energy, LLC"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_RecurrentEnergySegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "RecurrentEnergySegmentMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the recurrent energy segment.",
        "label": "Recurrent Energy Segment [Member]",
        "terseLabel": "Recurrent Energy Segment"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party [Domain]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r591",
      "r765",
      "r766",
      "r876",
      "r877",
      "r878",
      "r879",
      "r880",
      "r902",
      "r904",
      "r934"
     ]
    },
    "us-gaap_RelatedPartyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party [Member]",
        "terseLabel": "Related party",
        "documentation": "Party related to reporting entity. Includes, but is not limited to, affiliate, entity for which investment is accounted for by equity method, trust for benefit of employees, and principal owner, management, and members of immediate family."
       }
      }
     },
     "auth_ref": [
      "r322",
      "r323",
      "r765",
      "r766",
      "r767",
      "r768",
      "r876",
      "r877",
      "r878",
      "r879",
      "r880",
      "r902",
      "r904",
      "r934"
     ]
    },
    "us-gaap_RelatedPartyTransactionAmountsOfTransaction": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionAmountsOfTransaction",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Service Revenue from Related Party",
        "terseLabel": "Revenue from providing development services",
        "documentation": "Amount of transactions with related party during the financial reporting period."
       }
      }
     },
     "auth_ref": [
      "r152",
      "r765"
     ]
    },
    "us-gaap_RelatedPartyTransactionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Axis]",
        "documentation": "Information by type of related party transaction."
       }
      }
     },
     "auth_ref": [
      "r765",
      "r766",
      "r1158"
     ]
    },
    "us-gaap_RelatedPartyTransactionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Domain]",
        "documentation": "Transaction between related party."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Line Items]",
        "terseLabel": "RELATED PARTY BALANCES AND TRANSACTIONS",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r908",
      "r909",
      "r912"
     ]
    },
    "us-gaap_RelatedPartyTransactionPurchasesFromRelatedParty": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionPurchasesFromRelatedParty",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction, Purchases from Related Party",
        "verboseLabel": "Purchase from related party",
        "documentation": "Purchases during the period (excluding transactions that are eliminated in consolidated or combined financial statements) with related party."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "RELATED PARTY BALANCES AND TRANSACTIONS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party [Axis]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r591",
      "r765",
      "r766",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r794",
      "r795",
      "r876",
      "r877",
      "r878",
      "r879",
      "r880",
      "r902",
      "r904",
      "r934",
      "r1158"
     ]
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transactions Disclosure [Text Block]",
        "terseLabel": "RELATED PARTY BALANCES AND TRANSACTIONS",
        "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."
       }
      }
     },
     "auth_ref": [
      "r762",
      "r763",
      "r764",
      "r766",
      "r769",
      "r860",
      "r861",
      "r862",
      "r910",
      "r911",
      "r912",
      "r932",
      "r933"
     ]
    },
    "csiq_RepaymentOfLoanFromSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "RepaymentOfLoanFromSubsidiaries",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RepaymentOfNotesReceivableFromRelatedParties": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RepaymentOfNotesReceivableFromRelatedParties",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repayment of Notes Receivable from Related Parties",
        "verboseLabel": "Repayment of loans from subsidiaries",
        "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."
       }
      }
     },
     "auth_ref": [
      "r55"
     ]
    },
    "us-gaap_RepaymentsOfDebtAndCapitalLeaseObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RepaymentsOfDebtAndCapitalLeaseObligations",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repayments of Debt and Capital Lease Obligations",
        "negatedLabel": "Repayment of financing liabilities",
        "documentation": "Amount of cash outflow for short-term and long-term debt and lease obligation."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_RepaymentsOfFinanceLeaseObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "RepaymentsOfFinanceLeaseObligation",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow for principal payment on finance lease.",
        "label": "Repayments Of Finance Lease Obligation",
        "negatedLabel": "Repayments of finance lease obligation"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RepaymentsOfNotesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RepaymentsOfNotesPayable",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repayments of Notes Payable",
        "negatedLabel": "Repayment of short-term borrowings",
        "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation."
       }
      }
     },
     "auth_ref": [
      "r62"
     ]
    },
    "srt_ReportableLegalEntitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ReportableLegalEntitiesMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reportable Legal Entities [Member]",
        "terseLabel": "Reportable legal entities"
       }
      }
     },
     "auth_ref": [
      "r327",
      "r1103",
      "r1106",
      "r1107"
     ]
    },
    "srt_RepurchaseAgreementCounterpartyNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RepurchaseAgreementCounterpartyNameDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Counterparty Name [Domain]"
       }
      }
     },
     "auth_ref": [
      "r324",
      "r325",
      "r501",
      "r526",
      "r768",
      "r981",
      "r982"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development Expense",
        "terseLabel": "Research and development expenses",
        "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."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r664",
      "r1167"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development Expense, Policy [Policy Text Block]",
        "terseLabel": "Research and development",
        "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."
       }
      }
     },
     "auth_ref": [
      "r663"
     ]
    },
    "us-gaap_RestrictedAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Assets Disclosure [Text Block]",
        "terseLabel": "RESTRICTED NET ASSETS",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictedCashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Cash and Cash Equivalents, Current",
        "terseLabel": "Restricted cash",
        "verboseLabel": "Restricted cash - current",
        "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."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r273",
      "r317"
     ]
    },
    "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCashAndCashEquivalentsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Cash and Cash Equivalents, Noncurrent",
        "terseLabel": "Restricted cash",
        "verboseLabel": "Restricted cash - non-current",
        "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."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r247",
      "r317"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "RSUs",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictionsForConsolidatedAndUnconsolidatedSubsidiariesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "RESTRICTED NET ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings (Accumulated Deficit).",
        "terseLabel": "Retained earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r169",
      "r212",
      "r813",
      "r851",
      "r853",
      "r858",
      "r885",
      "r1016"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r265",
      "r333",
      "r334",
      "r335",
      "r337",
      "r343",
      "r345",
      "r415",
      "r416",
      "r655",
      "r656",
      "r657",
      "r687",
      "r688",
      "r709",
      "r711",
      "r712",
      "r714",
      "r715",
      "r848",
      "r850",
      "r865",
      "r1176"
     ]
    },
    "us-gaap_RetirementPlanSponsorLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetirementPlanSponsorLocationAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Plan Sponsor Location [Axis]",
        "documentation": "Information by location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r591",
      "r594",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r1114",
      "r1115",
      "r1116"
     ]
    },
    "us-gaap_RetirementPlanSponsorLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetirementPlanSponsorLocationDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement Plan Sponsor Location [Domain]",
        "documentation": "Location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans."
       }
      }
     },
     "auth_ref": [
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r567",
      "r568",
      "r569",
      "r570",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r591",
      "r594",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r1114",
      "r1115",
      "r1116"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "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"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total net revenues",
        "terseLabel": "Net revenues",
        "totalLabel": "Total net revenues",
        "verboseLabel": "Net revenues",
        "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."
       }
      }
     },
     "auth_ref": [
      "r371",
      "r372",
      "r383",
      "r388",
      "r389",
      "r395",
      "r397",
      "r399",
      "r538",
      "r539",
      "r781"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition, Policy [Policy Text Block]",
        "terseLabel": "Revenue recognition",
        "documentation": "Disclosure of accounting policy for revenue from contract with customer."
       }
      }
     },
     "auth_ref": [
      "r264",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r969"
     ]
    },
    "csiq_RevenueGeneratedFromFinanceLease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "RevenueGeneratedFromFinanceLease",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue generated from finance lease.",
        "label": "Revenue Generated from Finance Lease",
        "terseLabel": "Revenue generated"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Contract liabilities expected to be recognized",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r256"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Revenues",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues",
        "terseLabel": "Total net revenues",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r302",
      "r320",
      "r371",
      "r372",
      "r383",
      "r388",
      "r389",
      "r395",
      "r397",
      "r399",
      "r413",
      "r484",
      "r485",
      "r487",
      "r488",
      "r489",
      "r491",
      "r493",
      "r495",
      "r496",
      "r720",
      "r802",
      "r1104"
     ]
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "terseLabel": "Revenues generated by geographic location of customers' headquarter",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving credit facility",
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r755",
      "r1015"
     ]
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r755",
      "r1015"
     ]
    },
    "csiq_RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "country_SG": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "SG",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Singapore"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SaleLeasebackTransactionProceedsFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SaleLeasebackTransactionProceedsFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SaleOfStockPercentageOfOwnershipAfterTransaction": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleOfStockPercentageOfOwnershipAfterTransaction",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Stock, Percentage of Ownership after Transaction",
        "terseLabel": "Percentage of ownership after sale transaction",
        "documentation": "Percentage of subsidiary's or equity investee's stock owned by parent company after stock transaction."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Salgueiro Solar Holding S.A (\"Salgueiro\") which holds its Salgueiro project, Francisco Sa Solar Holding S.A (\"Francisco\") which holds its Francisco project, Jaiba Solar Holding S.A (\"Jaiba\") which holds its Jaiba project, and Lavras Solar Holding S.A. (\"Lavras\").",
        "label": "Salgueiro Solar Holding S.A, Francisco Sa Solar Holding S.A , Jaiba Solar Holding S.A, and Lavras Solar Holding S.A.[Member]",
        "terseLabel": "Salgueiro, Francisco, Jaiba and Larvras"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SalgueiroSolarHoldingS.aMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SalgueiroSolarHoldingS.aMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Salgueiro Solar Holding S.A.",
        "label": "Salgueiro"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r50"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r69"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r69"
     ]
    },
    "csiq_ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Schedule of provision for income taxes",
        "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."
       }
      }
     },
     "auth_ref": [
      "r216"
     ]
    },
    "srt_ScheduleOfCondensedFinancialStatementsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScheduleOfCondensedFinancialStatementsTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeDetails",
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Condensed Financial Statements [Table]"
       }
      }
     },
     "auth_ref": [
      "r327",
      "r1045"
     ]
    },
    "us-gaap_ScheduleOfDebtTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDebtTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Debt [Table Text Block]",
        "terseLabel": "Schedule of bank borrowings",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "terseLabel": "Schedule of components of the deferred tax assets and liabilities",
        "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."
       }
      }
     },
     "auth_ref": [
      "r215"
     ]
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments, Gain (Loss) [Table Text Block]",
        "terseLabel": "Schedule of effect of derivative instruments on consolidated statements of operations",
        "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."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r136",
      "r707"
     ]
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r133"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Schedule of computation of basic and diluted earnings per share",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1082"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r214"
     ]
    },
    "csiq_ScheduleOfEffectiveInterestRatesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ScheduleOfEffectiveInterestRatesTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ScheduleOfElectricityRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ScheduleOfElectricityRevenueTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "terseLabel": "Summary of Company share-based compensation expense by plan included in consolidated statements of operations",
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement."
       }
      }
     },
     "auth_ref": [
      "r104"
     ]
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from External Customers by Products and Services [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r83"
     ]
    },
    "us-gaap_ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r83"
     ]
    },
    "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Axis]"
       }
      }
     },
     "auth_ref": [
      "r409",
      "r410",
      "r412"
     ]
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEquityMethodInvestmentsLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Equity Method Investments [Line Items]",
        "terseLabel": "Other investments",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r320",
      "r409",
      "r410",
      "r412",
      "r413",
      "r720"
     ]
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEquityMethodInvestmentsTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Equity Method Investments [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r269",
      "r320",
      "r409",
      "r410",
      "r412",
      "r413",
      "r720"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r90",
      "r91",
      "r782"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of useful life intangible assets",
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment."
       }
      }
     },
     "auth_ref": [
      "r90",
      "r91"
     ]
    },
    "csiq_ScheduleOfInterestExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ScheduleOfInterestExpenseTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInventoriesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "terseLabel": "Schedule of inventories",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r173",
      "r174",
      "r175"
     ]
    },
    "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Maturities of Long-term Debt [Table Text Block]",
        "terseLabel": "Schedule of future principal repayments on the long-term borrowings",
        "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "csiq_ScheduleOfOtherOperatingIncomeExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ScheduleOfOtherOperatingIncomeExpenseTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Product Warranty Liability [Table Text Block]",
        "terseLabel": "Summary of the Company's warranty activity",
        "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."
       }
      }
     },
     "auth_ref": [
      "r481"
     ]
    },
    "csiq_ScheduleOfProjectAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ScheduleOfProjectAssetsTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureProjectAssetsTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "csiq_ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Related Party Transactions, by Related Party [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r150",
      "r152",
      "r908",
      "r909",
      "r912"
     ]
    },
    "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r85",
      "r182"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r177"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r81",
      "r82",
      "r88"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r81",
      "r82",
      "r88"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r615",
      "r617",
      "r620",
      "r621",
      "r622",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation, Restricted Stock Units Award Activity [Table Text Block]",
        "terseLabel": "Schedule of the RSU activity",
        "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."
       }
      }
     },
     "auth_ref": [
      "r103"
     ]
    },
    "csiq_ScheduleOfSolarPowerSystemsComponentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ScheduleOfSolarPowerSystemsComponentsTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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)",
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r1010",
      "r1145"
     ]
    },
    "us-gaap_ScheduleOfVariableInterestEntitiesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfVariableInterestEntitiesTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Variable Interest Entities [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r119",
      "r120",
      "r121",
      "r122",
      "r123",
      "r700",
      "r701",
      "r704",
      "r705",
      "r775",
      "r776",
      "r777"
     ]
    },
    "us-gaap_ScheduleOfVariableInterestEntitiesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfVariableInterestEntitiesTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r119",
      "r120",
      "r121",
      "r122",
      "r123"
     ]
    },
    "csiq_SecondAdministrativeReviewOfSolarOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SecondAdministrativeReviewOfSolarOneMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SecuredCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SecuredCreditFacilityMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to secured credit facility.",
        "label": "Secured Credit Facility [Member]",
        "terseLabel": "Secured Credit Facility"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SecuredDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SecuredDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Secured Debt",
        "terseLabel": "Secured borrowings",
        "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."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r235",
      "r1169"
     ]
    },
    "us-gaap_SecuredLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SecuredLongTermDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Secured Long-term Debt, Noncurrent",
        "terseLabel": "Long-term borrowings",
        "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."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "csiq_SecuredShortTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SecuredShortTermDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r1033"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r1035"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments [Domain]",
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity."
       }
      }
     },
     "auth_ref": [
      "r367",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r393",
      "r399",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r461",
      "r462",
      "r830",
      "r831",
      "r832",
      "r833",
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r990",
      "r1050",
      "r1172"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]"
       }
      }
     },
     "auth_ref": [
      "r397",
      "r398",
      "r868",
      "r869",
      "r870",
      "r936",
      "r938",
      "r941",
      "r949",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r972",
      "r999",
      "r1021",
      "r1111",
      "r1172"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "SEGMENT INFORMATION"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "SEGMENT INFORMATION",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r382",
      "r387",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r399"
     ]
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingInformationLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Information [Line Items]",
        "terseLabel": "SEGMENT INFORMATION",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingInformationProfitLossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingInformationProfitLossAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Information, Profit (Loss) [Abstract]",
        "terseLabel": "Revenues and gross profit generated from each segment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingAndMarketingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingAndMarketingExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling and Marketing Expense",
        "terseLabel": "Selling and distribution expenses",
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling Expense",
        "terseLabel": "Selling and distribution expenses",
        "documentation": "Expenses recognized in the period that are directly related to the selling and distribution of products or services."
       }
      }
     },
     "auth_ref": [
      "r185"
     ]
    },
    "csiq_SeriesOfIndividuallyImmaterialCountriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SeriesOfIndividuallyImmaterialCountriesMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ServiceLifeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ServiceLifeMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation life",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r985"
     ]
    },
    "csiq_SeventhAdministrativeReviewOfSolarOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SeventhAdministrativeReviewOfSolarOneMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SeventhAdministrativeReviewOfSolarTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SeventhAdministrativeReviewOfSolarTwoMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      },
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation.",
        "terseLabel": "Share-based compensation",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period",
        "verboseLabel": "Grant period (in years)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1008"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedLabel": "Forfeited (in shares)",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r637"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r637"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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)",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r635"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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)."
       }
      }
     },
     "auth_ref": [
      "r635"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r632",
      "r633"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "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",
        "periodEndLabel": "Unvested at the end of the period (in dollars per share)",
        "periodStartLabel": "Unvested at the beginning of the period (in dollars per share)",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r632",
      "r633"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Vested (in shares)",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r636"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "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."
       }
      }
     },
     "auth_ref": [
      "r639"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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)",
        "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."
       }
      }
     },
     "auth_ref": [
      "r636"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "SHARE-BASED COMPENSATION",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r615",
      "r617",
      "r620",
      "r621",
      "r622",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648"
     ]
    },
    "csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate amount of subscription agreed to equity interest in the partnership under the employee incentive plan.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Maximum Subscription Amount to Equity Interest in Partnership",
        "terseLabel": "Aggregate amount of subscription"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized",
        "terseLabel": "Maximum aggregate number of shares to be issued",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1009"
     ]
    },
    "csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value",
        "verboseLabel": "Intrinsic value of outstanding options (in dollars)",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r102"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number",
        "terseLabel": "Options outstanding",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r624",
      "r625"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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)",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r624",
      "r625"
     ]
    },
    "csiq_ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Award [Domain]",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r620",
      "r621",
      "r622",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648"
     ]
    },
    "us-gaap_ShareBasedCompensationAwardTrancheOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationAwardTrancheOneMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tranche one",
        "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationAwardTrancheTwoMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tranche two",
        "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]",
        "terseLabel": "Share-based compensation",
        "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."
       }
      }
     },
     "auth_ref": [
      "r614",
      "r623",
      "r642",
      "r643",
      "r644",
      "r645",
      "r648",
      "r658",
      "r659",
      "r660",
      "r661"
     ]
    },
    "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplier [Axis]",
        "documentation": "Information by supplier."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedGoodsAndNonemployeeServicesTransactionSupplierDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplier [Domain]",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedPaymentArrangementEmployeeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedPaymentArrangementEmployeeMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails",
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employees",
        "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."
       }
      }
     },
     "auth_ref": [
      "r617",
      "r620",
      "r621",
      "r622",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648"
     ]
    },
    "us-gaap_ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedPaymentArrangementExpensedAndCapitalizedAmountAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Abstract]",
        "terseLabel": "Company's share-based compensation expense by plan"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ShareIncentivePlan2006Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ShareIncentivePlan2006Member",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensation2020CsiSolarEmployeeIncentivePlanDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to 2006 share incentive plan.",
        "label": "Share Incentive Plan, 2006 [Member]",
        "terseLabel": "2006 Share incentive plan"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage",
        "verboseLabel": "Vesting percentage",
        "documentation": "Percentage of vesting of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1117"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount",
        "terseLabel": "Compensation cost",
        "documentation": "Amount of cost expensed and capitalized for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r649"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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)",
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r213"
     ]
    },
    "us-gaap_ShippingAndHandlingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShippingAndHandlingMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shipping and Handling",
        "documentation": "Packing and transport of product."
       }
      }
     },
     "auth_ref": [
      "r1112"
     ]
    },
    "csiq_ShippingsAndHandlingCostPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ShippingsAndHandlingCostPolicyPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermBorrowings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermBorrowings",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-term Debt",
        "terseLabel": "Short-term borrowings",
        "verboseLabel": "Short-term borrowings",
        "documentation": "Reflects the total carrying amount as of the balance sheet date of debt having initial terms less than one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r233",
      "r1016",
      "r1168"
     ]
    },
    "csiq_ShortTermBorrowingsOnProjectAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ShortTermBorrowingsOnProjectAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermDebtMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermDebtMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-term borrowings",
        "documentation": "Debt arrangement having an initial term within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermLeaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails": {
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-term Lease, Cost",
        "terseLabel": "Short-term lease cost",
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less."
       }
      }
     },
     "auth_ref": [
      "r753",
      "r1015"
     ]
    },
    "csiq_ShortTermNotePayableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ShortTermNotePayableMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents of Short term note payable.",
        "label": "Short Term Note Payable"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ShortTermNotesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ShortTermNotesPayable",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of borrowings classified s short term notes payable.",
        "label": "Short term notes payable",
        "terseLabel": "Short-term notes payable"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ShortTermNotesPayableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ShortTermNotesPayableTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SixthAdministrativeReviewOfSolarOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SixthAdministrativeReviewOfSolarOneMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Solar 1.",
        "label": "Sixth administrative review of Solar 1"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarModulesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarModulesMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the solar modules.",
        "label": "Solar modules"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to U.S. Antidumping, Countervailing Duty and Safeguard Proceedings, Solar 1.",
        "label": "Solar 1"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarPowerAndBatteryEnergyStorageAssetSalesMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the Solar power and battery energy storage asset sales member.",
        "label": "Solar power and battery energy storage asset sales [Member]",
        "terseLabel": "Solar power and battery energy storage asset sales"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarPowerProjectsByEpcServicesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarPowerProjectsByEpcServicesMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the solar power projects by EPC services.",
        "label": "Solar power projects by EPC services"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarPowerSystemCommitmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarPowerSystemCommitmentsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails",
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Solar power system commitments.",
        "label": "Solar power system"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarPowerSystems": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarPowerSystems",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      },
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarPowerSystemsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarPowerSystemsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "No definition available.",
        "label": "SOLAR POWER SYSTEMS, NET"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarPowerSystemsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarPowerSystemsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails": {
       "parentTag": "csiq_SolarPowerSystems",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarPowerSystemsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarPowerSystemsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarPowerSystemsReclassifiedToProjectAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarPowerSystemsReclassifiedToProjectAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarPowerSystemsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarPowerSystemsTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarProjectMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarProjectMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to solar project",
        "label": "Solar Project [Member]",
        "terseLabel": "Solar project"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarSystemKitsProductMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarSystemKitsProductMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the solar system kits, the product of the entity.",
        "label": "Solar system kits"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to U.S. Antidumping, Countervailing Duty and Safeguard Proceedings, Solar 2.",
        "label": "Solar 2"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Warranty Accrual, Currency Translation, Increase (Decrease)",
        "terseLabel": "Foreign exchange effect",
        "documentation": "Amount of foreign currency translation gain (loss) which decreases (increases) the standard and extended product warranty accrual."
       }
      }
     },
     "auth_ref": [
      "r1100"
     ]
    },
    "csiq_StandardProductWarrantyExtensionPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "StandardProductWarrantyExtensionPeriod",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_StandardProductWarrantyPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "StandardProductWarrantyPeriod",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StandardProductWarrantyPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StandardProductWarrantyPolicy",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Standard Product Warranty, Policy [Policy Text Block]",
        "terseLabel": "Warranty cost",
        "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability."
       }
      }
     },
     "auth_ref": [
      "r1099"
     ]
    },
    "csiq_StandardProductWarrantyTerm": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "StandardProductWarrantyTerm",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the term of standard product warranty.",
        "label": "Standard Product Warranty Term",
        "terseLabel": "Standard warranty"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_StandardSolarModuleMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "StandardSolarModuleMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Standard Solar module.",
        "label": "Standard solar modules"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesElectricityRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r268",
      "r367",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r381",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r393",
      "r399",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r457",
      "r461",
      "r462",
      "r830",
      "r831",
      "r832",
      "r833",
      "r834",
      "r835",
      "r836",
      "r837",
      "r838",
      "r839",
      "r840",
      "r990",
      "r1050",
      "r1172"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsEffectsOfChangesInCompanySOwnershipInterestInLessThanWhollyOwnedSubsidiariesOnEquityAttributableToCanadianSolarIncDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r49",
      "r265",
      "r298",
      "r299",
      "r300",
      "r333",
      "r334",
      "r335",
      "r337",
      "r343",
      "r345",
      "r365",
      "r415",
      "r416",
      "r527",
      "r655",
      "r656",
      "r657",
      "r687",
      "r688",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r729",
      "r731",
      "r732",
      "r733",
      "r734",
      "r735",
      "r761",
      "r848",
      "r849",
      "r850",
      "r865",
      "r929"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r397",
      "r398",
      "r868",
      "r869",
      "r870",
      "r936",
      "r938",
      "r941",
      "r949",
      "r953",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r972",
      "r999",
      "r1021",
      "r1111",
      "r1172"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails",
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement",
        "terseLabel": "Statement",
        "verboseLabel": "RESTRICTED NET ASSETS",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r333",
      "r334",
      "r335",
      "r365",
      "r781",
      "r854",
      "r867",
      "r874",
      "r876",
      "r877",
      "r878",
      "r879",
      "r880",
      "r884",
      "r887",
      "r888",
      "r889",
      "r890",
      "r891",
      "r893",
      "r894",
      "r895",
      "r896",
      "r898",
      "r899",
      "r900",
      "r901",
      "r902",
      "r904",
      "r906",
      "r907",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r929",
      "r1022"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED BALANCE SHEETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationNarrativeDetails",
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "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."
       }
      }
     },
     "auth_ref": [
      "r333",
      "r334",
      "r335",
      "r365",
      "r781",
      "r854",
      "r867",
      "r874",
      "r876",
      "r877",
      "r878",
      "r879",
      "r880",
      "r884",
      "r887",
      "r888",
      "r889",
      "r890",
      "r891",
      "r893",
      "r894",
      "r895",
      "r896",
      "r898",
      "r899",
      "r900",
      "r901",
      "r902",
      "r904",
      "r906",
      "r907",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r923",
      "r924",
      "r925",
      "r929",
      "r1022"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Number of new stock issued during the period."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r166",
      "r167",
      "r212",
      "r856",
      "r929",
      "r950"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross",
        "terseLabel": "Exercise of RSUs (in shares)",
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r212"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "verboseLabel": "Option exercised",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r166",
      "r167",
      "r212",
      "r629"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, Employee Stock Ownership Plan",
        "terseLabel": "Aggregated transaction amount under employee incentive plan",
        "documentation": "Aggregate value of stock issued during the period as a result of employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r107",
      "r166",
      "r167",
      "r212"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureNonControllingInterestsAdditionalInformationDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, New Issues",
        "terseLabel": "Issuance of ordinary shares, net of issuance costs",
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r166",
      "r167",
      "r212",
      "r865",
      "r929",
      "r950",
      "r1030"
     ]
    },
    "csiq_StockOptionsAndRestrictedStockUnitsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "StockOptionsAndRestrictedStockUnitsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to the share options and restricted share units.",
        "label": "Share options and RSUs",
        "verboseLabel": "RSUs and share options"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchased During Period, Shares",
        "terseLabel": "Number of shares repurchased",
        "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."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r166",
      "r167",
      "r212",
      "r857",
      "r929",
      "r951"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent",
        "totalLabel": "Total Canadian Solar Inc. shareholders' equity",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r170",
      "r171",
      "r198",
      "r886",
      "r903",
      "r930",
      "r931",
      "r1016",
      "r1031",
      "r1070",
      "r1086",
      "r1151",
      "r1176"
     ]
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "TOTAL EQUITY",
        "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r115",
      "r124",
      "r265",
      "r266",
      "r299",
      "r333",
      "r334",
      "r335",
      "r337",
      "r343",
      "r415",
      "r416",
      "r527",
      "r655",
      "r656",
      "r657",
      "r687",
      "r688",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r729",
      "r731",
      "r735",
      "r761",
      "r849",
      "r850",
      "r863",
      "r886",
      "r903",
      "r930",
      "r931",
      "r952",
      "r1030",
      "r1070",
      "r1086",
      "r1151",
      "r1176"
     ]
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]",
        "terseLabel": "Equity:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent event",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r736",
      "r772"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r736",
      "r772"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEventDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Domain]",
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r736",
      "r772"
     ]
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "SUBSEQUENT EVENT"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSubsequentEvent"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Text Block]",
        "terseLabel": "SUBSEQUENT EVENT",
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r771",
      "r773"
     ]
    },
    "srt_SubsidiariesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SubsidiariesMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails",
      "http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidiaries [Member]",
        "terseLabel": "Subsidiaries"
       }
      }
     },
     "auth_ref": [
      "r1113",
      "r1156",
      "r1157",
      "r1158"
     ]
    },
    "us-gaap_SummaryOfIncomeTaxHolidayTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SummaryOfIncomeTaxHolidayTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Income Tax Holiday [Table Text Block]",
        "terseLabel": "Schedule of aggregate amount and per share effect of the tax holiday",
        "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."
       }
      }
     },
     "auth_ref": [
      "r220"
     ]
    },
    "us-gaap_SummaryOfValuationAllowanceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SummaryOfValuationAllowanceTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Valuation Allowance [Table Text Block]",
        "terseLabel": "Schedule of movement of the valuation allowance",
        "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."
       }
      }
     },
     "auth_ref": [
      "r108"
     ]
    },
    "csiq_SunmexRenovablesS.a.DeC.v.Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SunmexRenovablesS.a.DeC.v.Member",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental disclosure of cash flow information:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplierConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplierConcentrationRiskMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplier",
        "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."
       }
      }
     },
     "auth_ref": [
      "r74"
     ]
    },
    "csiq_SupplierMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SupplierMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesConcentrationOfCreditRiskDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the member information pertaining to Supplier A.",
        "label": "Supplier A"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SuzhouFinancialLeasingCo.Ltd.Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SuzhouFinancialLeasingCo.Ltd.Member",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "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."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "SuzhouZhuoshengVentureInvestmentFundLlpMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails",
      "http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "country_TH": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "TH",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Thailand"
       }
      }
     },
     "auth_ref": []
    },
    "country_TW": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "TW",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "TAIWAN",
        "terseLabel": "Taiwan"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "TenthAndEleventhAdministrativeReviewOfSolarOneMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Tenth And Eleventh administrative review of Solar 1 by U.S. Department of Commerce.",
        "label": "Tenth And Eleventh Administrative Review Of Solar One [Member]",
        "terseLabel": "Tenth And Eleventh Administrative Review Of Solar 1"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_TermLoanFacilityTwoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "TermLoanFacilityTwoMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to term loan facility two.",
        "label": "Term Loan Facility Two [Member]",
        "terseLabel": "Term Loan Facility Two"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_TermLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "TermLoanMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to a Represents the information pertaining to term loan.",
        "label": "Term loan"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ThirdAdministrativeReviewOfSolarOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ThirdAdministrativeReviewOfSolarOneMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Timing of Transfer of Good or Service [Axis]",
        "documentation": "Information by timing of transfer of good or service to customer."
       }
      }
     },
     "auth_ref": [
      "r1003",
      "r1111"
     ]
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Timing of Transfer of Good or Service [Domain]",
        "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time."
       }
      }
     },
     "auth_ref": [
      "r1003",
      "r1111"
     ]
    },
    "csiq_TotalAmountOfMatures": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "TotalAmountOfMatures",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of total amount of matures.",
        "label": "Total Amount Of Matures",
        "terseLabel": "Amount of matures"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade and Other Accounts Receivable, Unbilled Receivables, Policy [Policy Text Block]",
        "terseLabel": "Accounts receivable, unbilled",
        "documentation": "Disclosure of accounting policy for treatment of receivables that are billable but have not been billed as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r400"
     ]
    },
    "us-gaap_TrademarksMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TrademarksMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trademarks [Member]",
        "terseLabel": "Trademark",
        "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style."
       }
      }
     },
     "auth_ref": [
      "r113"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_Tranche1LoanFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "Tranche1LoanFacilityMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to tranche 1 loan facility.",
        "label": "Tranche 1 Loan Facility [Member]",
        "terseLabel": "Tranche 1"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_Tranche2LoanFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "Tranche2LoanFacilityMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to tranche 2 loan facility.",
        "label": "Tranche 2 Loan Facility [Member]",
        "terseLabel": "Tranche 2"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TransferredAtPointInTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TransferredAtPointInTimeMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recognized at a point in time",
        "documentation": "Contract with customer in which good or service is transferred at point in time."
       }
      }
     },
     "auth_ref": [
      "r1003"
     ]
    },
    "us-gaap_TransferredOverTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TransferredOverTimeMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recognized over time",
        "documentation": "Contract with customer in which good or service is transferred over time."
       }
      }
     },
     "auth_ref": [
      "r1003"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails",
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "United States"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnbilledReceivablesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnbilledReceivablesCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unbilled Receivables, Current",
        "terseLabel": "Accounts receivable, unbilled",
        "verboseLabel": "Accounts receivables, unbilled",
        "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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UndistributedEarningsOfForeignSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UndistributedEarningsOfForeignSubsidiaries",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Undistributed Earnings of Foreign Subsidiaries",
        "terseLabel": "Undistributed earnings of subsidiaries and affiliates considered to be permanently reinvested",
        "documentation": "Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r19",
      "r666",
      "r697"
     ]
    },
    "csiq_UnrealizedGainLossFromSalesToInvestees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "UnrealizedGainLossFromSalesToInvestees",
     "crdr": "credit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "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 from sales to affiliates"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefits",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "documentation": "Amount of unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r667",
      "r676"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Foreign Currency Translation",
        "negatedLabel": "Foreign exchange effect",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from foreign currency translation."
       }
      }
     },
     "auth_ref": [
      "r1146"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r677"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued",
        "terseLabel": "Amount of interest and penalties accrued related to unrecognized tax benefits",
        "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."
       }
      }
     },
     "auth_ref": [
      "r675"
     ]
    },
    "csiq_UnrecognizedTaxStatueOfLimitationsExpirations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "UnrecognizedTaxStatueOfLimitationsExpirations",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_UnsecuredCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "UnsecuredCreditFacilityMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to unsecured credit facility.",
        "label": "Unsecured Credit Facility [Member]",
        "terseLabel": "Unsecured Credit Facility"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnsecuredDebtMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnsecuredDebtMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unsecured",
        "documentation": "Debt obligation not collateralized by pledge of, mortgage of or other lien on the entity's assets."
       }
      }
     },
     "auth_ref": []
    },
    "csiq_UnusualOrInfrequentItemPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "UnusualOrInfrequentItemPolicyTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of estimates",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r78",
      "r79",
      "r250",
      "r251",
      "r254",
      "r255"
     ]
    },
    "us-gaap_UseRightsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseRightsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndLandUseRightsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land use rights",
        "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."
       }
      }
     },
     "auth_ref": [
      "r32"
     ]
    },
    "country_VN": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "VN",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vietnam"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowanceOfDeferredTaxAssetsMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance",
        "documentation": "Valuation allowance of deferred tax asset attributable to deductible temporary difference and carryforward."
       }
      }
     },
     "auth_ref": [
      "r1074",
      "r1075",
      "r1076",
      "r1077",
      "r1078"
     ]
    },
    "csiq_ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ValuationAllowancesAndReservesDeductions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesDeductions",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Allowances and Reserves, Deductions",
        "negatedLabel": "Write-offs",
        "documentation": "Amount of decrease in valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r331"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesDomain",
     "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"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Allowances and Reserves [Domain]",
        "documentation": "Valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r328",
      "r329",
      "r330",
      "r331",
      "r332"
     ]
    },
    "csiq_ValuationAllowancesAndReservesForeignExchangeEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "ValuationAllowancesAndReservesForeignExchangeEffect",
     "crdr": "credit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureAllowanceForCreditLossesDetails",
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "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"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Allowances and Reserves Type [Axis]",
        "documentation": "Information by valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r328",
      "r329",
      "r330",
      "r331",
      "r332"
     ]
    },
    "srt_ValuationAndQualifyingAccountsDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ValuationAndQualifyingAccountsDisclosureLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation and Qualifying Accounts Disclosure [Line Items]",
        "terseLabel": "ALLOWANCE FOR DOUBTFUL ACCOUNTS"
       }
      }
     },
     "auth_ref": [
      "r328",
      "r329",
      "r330",
      "r331",
      "r332"
     ]
    },
    "srt_ValuationAndQualifyingAccountsDisclosureTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ValuationAndQualifyingAccountsDisclosureTable",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation and Qualifying Accounts Disclosure [Table]"
       }
      }
     },
     "auth_ref": [
      "r328",
      "r329",
      "r330",
      "r331",
      "r332"
     ]
    },
    "us-gaap_ValueAddedTaxReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValueAddedTaxReceivableCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Value added tax",
        "terseLabel": "Value added tax recoverable",
        "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."
       }
      }
     },
     "auth_ref": [
      "r1057"
     ]
    },
    "us-gaap_VariableInterestEntityDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableInterestEntityDisclosureTextBlock",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Interest Entity Disclosure [Text Block]",
        "terseLabel": "VARIABLE INTEREST ENTITIES",
        "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."
       }
      }
     },
     "auth_ref": [
      "r222"
     ]
    },
    "us-gaap_VariableInterestEntityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableInterestEntityLineItems",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Interest Entity [Line Items]",
        "terseLabel": "VARIABLE INTEREST ENTITIES",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r700",
      "r701",
      "r704",
      "r705",
      "r775",
      "r776",
      "r777"
     ]
    },
    "us-gaap_VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableInterestEntityPrimaryBeneficiaryDoesNotHoldMajorityVotingInterestDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "VARIABLE INTEREST ENTITIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VariableInterestEntityPrimaryBeneficiaryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableInterestEntityPrimaryBeneficiaryMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails",
      "http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Interest Entity",
        "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."
       }
      }
     },
     "auth_ref": [
      "r119",
      "r700",
      "r701",
      "r704",
      "r705"
     ]
    },
    "us-gaap_VehiclesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VehiclesMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails",
      "http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Motor vehicles",
        "documentation": "Equipment used primarily for road transportation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VestingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingAxis",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting [Axis]",
        "documentation": "Information by vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1121",
      "r1122",
      "r1123",
      "r1124",
      "r1125",
      "r1126",
      "r1127",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1132",
      "r1133",
      "r1134",
      "r1135",
      "r1136",
      "r1137",
      "r1138",
      "r1139",
      "r1140",
      "r1141",
      "r1142"
     ]
    },
    "us-gaap_VestingDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VestingDomain",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting [Domain]",
        "documentation": "Vesting schedule of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1121",
      "r1122",
      "r1123",
      "r1124",
      "r1125",
      "r1126",
      "r1127",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1132",
      "r1133",
      "r1134",
      "r1135",
      "r1136",
      "r1137",
      "r1138",
      "r1139",
      "r1140",
      "r1141",
      "r1142"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r349",
      "r359"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails",
      "http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r347",
      "r359"
     ]
    },
    "csiq_WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries",
     "crdr": "debit",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of withholding income tax for undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.",
        "label": "Withholding Income Tax for Undistributed Earnings of Foreign Subsidiaries",
        "terseLabel": "Withholding Income Tax for Undistributed Earnings of Foreign Subsidiaries"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails"
     ],
     "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)"
       }
      }
     },
     "auth_ref": []
    },
    "csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.canadiansolar.com/20231231",
     "localname": "YanchengJiwaNewMaterialTechnologyCo.LtdMember",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails"
     ],
     "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"
       }
      }
     },
     "auth_ref": []
    },
    "country_ZA": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "ZA",
     "presentation": [
      "http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "South Africa"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482338/360-10-05-4"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "7",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-7"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "8",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-8"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a-c)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21D",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-21D"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "470",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-1"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "835",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "30",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "30",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "740",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481141/942-740-50-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "740",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480135/944-740-50-1"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(2)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c),(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "815",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-2"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "SubTopic": "20",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483466/210-20-50-3"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "b",
   "SubTopic": "10",
   "Topic": "280",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "SubTopic": "20",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-10"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13",
   "SubTopic": "20",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-13"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "31",
   "Subparagraph": "(i)",
   "SubTopic": "20",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-31"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9",
   "SubTopic": "20",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-9"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "60",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "820",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482053/820-10-60-1"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-8"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.24)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "270",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-14"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-16"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-21"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//310/tableOfContent"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "310",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482130/360-10-45-4"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "460",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "50",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481244/470-50-50-1"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "40",
   "Section": "25",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480637/718-40-25-10"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "217",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "05",
   "Paragraph": "4",
   "Subparagraph": "(a)-(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479515/805-10-05-4"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-15"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-16"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-21"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-24"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-4"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-5A"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-6"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-9"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4I"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4M",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4M"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A"
  },
  "r133": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B"
  },
  "r135": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B"
  },
  "r136": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C"
  },
  "r138": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D"
  },
  "r139": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-7"
  },
  "r140": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-8"
  },
  "r141": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "182",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480401/815-10-55-182"
  },
  "r142": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "25",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480238/815-25-50-1"
  },
  "r143": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20"
  },
  "r144": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r145": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r146": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A"
  },
  "r147": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2"
  },
  "r148": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3"
  },
  "r149": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8"
  },
  "r150": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "850",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r151": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "850",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r152": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "850",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r153": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "932",
   "SubTopic": "235",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-1B"
  },
  "r154": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.15)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r155": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.17)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r156": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.7(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r157": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3"
  },
  "r158": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "825",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1"
  },
  "r159": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "985",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1"
  },
  "r160": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r161": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r162": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r163": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r164": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r165": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r166": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r167": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r168": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r169": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r170": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r171": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r172": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r173": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r174": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r175": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r176": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r177": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r178": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r179": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r180": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r181": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r182": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r183": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r184": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r185": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r186": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r187": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7(c),9(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r188": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r189": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r190": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r191": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r192": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r193": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r194": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r195": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r196": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "250",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//250/tableOfContent"
  },
  "r197": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r198": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r199": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2"
  },
  "r200": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r201": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r202": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//360/tableOfContent"
  },
  "r203": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r204": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480091/360-10-S99-2"
  },
  "r205": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r206": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r207": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481284/470-20-25-10"
  },
  "r208": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-5"
  },
  "r209": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6"
  },
  "r210": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6"
  },
  "r211": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7"
  },
  "r212": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r213": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r214": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r215": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r216": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r217": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r218": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r219": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r220": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r221": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38"
  },
  "r222": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//810/tableOfContent"
  },
  "r223": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19"
  },
  "r224": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-23"
  },
  "r225": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r226": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r227": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "932",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-10(a)(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479664/932-10-S99-1"
  },
  "r228": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "932",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-10(c)(3)(ii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479664/932-10-S99-1"
  },
  "r229": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "932",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-10(c)(7)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479664/932-10-S99-1"
  },
  "r230": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r231": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r232": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r233": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r234": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r235": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r236": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r237": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r238": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r239": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.13,16)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r240": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(13)(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r241": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r242": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04.13(h))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r243": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "321",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479567/321-10-45-1"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "210",
   "Topic": "946",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-20"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "SubTopic": "210",
   "Topic": "954",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480632/954-210-45-5"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-6"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.M.Q4)",
   "SubTopic": "20",
   "Topic": "326",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483530/326-20-S99-1"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "323",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//323/tableOfContent"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.5-04(Schedule I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480922/205-10-S99-6"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483466/210-20-50-3"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(dd)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(210.5-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 6.B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-5"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-19"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-21D"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(e)(3)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(k)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(k)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(1)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(n))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-11"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "40",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-40"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-42"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482964/270-10-50-6A"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//280/tableOfContent"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//310/tableOfContent"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481830/320-10-45-2"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-4"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481664/323-10-45-1"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479391/326-20-30-4A"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479391/326-20-30-5A"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479366/326-20-35-8A"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-5"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-17"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-21"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-3C"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-3D"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479175/326-30-30-1B"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "13A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479148/326-30-35-13A"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479148/326-30-35-7A"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479130/326-30-45-1"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-3A"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-3C"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-3D"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-1"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-2"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-4"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350-30/tableOfContent"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "410",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//410-20/tableOfContent"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "410",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481999/410-20-25-4"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "410",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481850/410-20-50-1"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-3"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-6"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-17"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-19"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//715/tableOfContent"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(10)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(8)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(o)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(p)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-4"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-8"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480126/715-20-S99-2"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480266/715-60-50-3"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.C.Q3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.1.Q5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.3.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483044/730-10-05-1"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482620/740-10-25-3"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-10B"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4E"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480627/815-20-45-3"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//830/tableOfContent"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-9"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-3"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-12"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//842-20/tableOfContent"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-2"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-1"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479016/842-30-45-3"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479773/842-30-50-5"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//850/tableOfContent"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-6"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481435/852-10-45-14"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//855/tableOfContent"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(b)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-1A"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(b)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-1A"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-1A"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482105/912-330-50-1"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8"
  },
  "r795": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8"
  },
  "r796": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(13)(g))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1)(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r812": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r814": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r815": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r816": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r817": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r818": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r819": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r820": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r821": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r822": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r823": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r824": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r825": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r826": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r827": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r828": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r829": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r830": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r831": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r832": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r833": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r834": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r835": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r836": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r837": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r839": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column J))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r840": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column K))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r841": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r842": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r843": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r844": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r845": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r846": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r847": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A"
  },
  "r848": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r849": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r850": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r851": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r852": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r853": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r854": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r855": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r856": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r857": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r858": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r859": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r860": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-2"
  },
  "r861": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-5"
  },
  "r862": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-6"
  },
  "r863": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3"
  },
  "r864": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3"
  },
  "r865": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r866": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-21"
  },
  "r867": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r868": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r869": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2"
  },
  "r870": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r871": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r872": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r873": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r874": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r875": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r876": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r877": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r878": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r879": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r880": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r881": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r882": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r883": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r884": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r885": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r886": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r887": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r888": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r889": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r890": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r891": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r892": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r893": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r894": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r895": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r896": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r897": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r898": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r899": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r900": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r901": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r902": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r903": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r904": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r905": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r906": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r907": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r908": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r909": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r910": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r911": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r912": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r913": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r914": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r915": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r916": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r917": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r918": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r919": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r920": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r921": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r922": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r923": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r924": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r925": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r926": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r927": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r928": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r929": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r930": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r931": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r932": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r933": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r934": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r935": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r936": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r937": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r938": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r939": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r940": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r941": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r942": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5"
  },
  "r943": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5"
  },
  "r944": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B"
  },
  "r945": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B"
  },
  "r946": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B"
  },
  "r947": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C"
  },
  "r948": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r949": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r950": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r951": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r952": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-3"
  },
  "r953": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r954": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2"
  },
  "r955": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1"
  },
  "r956": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "450",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480598/954-450-50-1"
  },
  "r957": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r958": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r959": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r960": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r961": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r962": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r963": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r964": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r965": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r966": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r967": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1"
  },
  "r968": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1"
  },
  "r969": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r970": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(1)",
   "SubTopic": "10",
   "Topic": "815",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D"
  },
  "r971": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r972": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r973": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(b)",
   "SubTopic": "20",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38"
  },
  "r974": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r975": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r976": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r977": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r978": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r979": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r980": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-16"
  },
  "r981": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-21"
  },
  "r982": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22"
  },
  "r983": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r984": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r985": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r986": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r987": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r988": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r989": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A"
  },
  "r990": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24"
  },
  "r991": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481639/420-10-35-4"
  },
  "r992": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r993": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B"
  },
  "r994": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C"
  },
  "r995": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E"
  },
  "r996": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F"
  },
  "r997": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r998": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r999": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r1000": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r1001": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r1002": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r1003": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r1004": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r1005": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r1006": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17"
  },
  "r1007": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8"
  },
  "r1008": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1009": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1010": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "217",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217"
  },
  "r1011": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r1012": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J"
  },
  "r1013": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K"
  },
  "r1014": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D"
  },
  "r1015": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53"
  },
  "r1016": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r1017": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2"
  },
  "r1018": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F"
  },
  "r1019": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r1020": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r1021": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r1022": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r1023": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r1024": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r1025": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r1026": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column A)(Footnote 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C"
  },
  "r1027": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column B)(Footnote 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C"
  },
  "r1028": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r1029": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10"
  },
  "r1030": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11"
  },
  "r1031": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r1032": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r1033": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r1034": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r1035": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r1036": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r1037": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r1038": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r1039": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r1040": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r1041": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r1042": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r1043": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r1044": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "323",
   "SubTopic": "740",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481543/323-740-50-2"
  },
  "r1045": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-11"
  },
  "r1046": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "321",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-1"
  },
  "r1047": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r1048": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r1049": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4CC",
   "SubTopic": "10",
   "Topic": "815",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4CC"
  },
  "r1050": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H"
  },
  "r1051": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "205",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483504/205-10-50-1"
  },
  "r1052": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1053": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1054": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1055": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1056": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1057": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1058": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1059": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r1060": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r1061": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r1062": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r1063": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(b)(7)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r1064": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(b)(9)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r1065": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r1066": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r1067": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r1068": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r1069": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r1070": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r1071": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r1072": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(k)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r1073": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(k)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r1074": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r1075": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(1)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r1076": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column C(2)))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r1077": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r1078": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SX 210.12-09(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4"
  },
  "r1079": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r1080": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r1081": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r1082": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r1083": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18"
  },
  "r1084": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13"
  },
  "r1085": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r1086": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r1087": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r1088": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r1089": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r1090": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10"
  },
  "r1091": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r1092": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r1093": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r1094": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r1095": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r1096": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r1097": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483049/450-30-50-1"
  },
  "r1098": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r1099": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r1100": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r1101": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r1102": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r1103": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r1104": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r1105": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r1106": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r1107": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r1108": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r1109": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r1110": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r1111": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r1112": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r1113": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r1114": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480606/715-80-35-1"
  },
  "r1115": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11"
  },
  "r1116": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-9"
  },
  "r1117": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1118": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1119": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1120": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1121": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1122": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1123": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1124": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1125": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1126": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1127": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1128": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1129": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1130": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1131": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1132": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1133": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1134": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1135": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1136": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1137": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1138": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1139": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1140": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1141": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1142": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1143": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r1144": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r1145": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r1146": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r1147": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r1148": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6"
  },
  "r1149": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r1150": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r1151": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r1152": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r1153": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r1154": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r1155": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r1156": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r1157": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r1158": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r1159": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r1160": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r1161": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r1162": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r1163": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r1164": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r1165": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r1166": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r1167": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1"
  },
  "r1168": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r1169": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r1170": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r1171": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r1172": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B"
  },
  "r1173": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r1174": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r1175": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r1176": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r1177": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r1178": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r1179": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r1180": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r1181": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>150
<FILENAME>0001104659-24-052464-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001104659-24-052464-xbrl.zip
M4$L#!!0    ( -5 FEBO6'.NHR\  ) D @ 1    8W-I<2TR,#(S,3(S,2YX
M<V3M?6USXS:R[O=3=?\#[WRYNU7QZR2S.U/)GI(EV:.L+&DE>28Y7T[!)"1A
M0Y$*0-I6?OWM!E]$BB!(2G(&KF75UF8L-%X:3Q/H;C0:/_[WR]JUGB@7S/=^
M>G=U?OG.HI[M.\Q;_O0N#!9G?W_WW__X/__UX_\]._OE9CJT'-\.U]0++)M3
M$E#'>F;!RIK[FPWQK'O*.7-=ZX8S9TDMZ^KR_,/Y]?D/UMG9/V03-T1 %=^S
M9%O7YU=)03=NS?<^6=]?7'^XN+Z\_MZZNOIT^?VG'SY8G?N$\!Z&MF"5E"_"
M^23L%5T3*R!\28,165.Q(3;]Z=TJ"#:?+BZ>GY_/;>(1AQ%/^"[AY[:_QM;>
M7\'_WEDD"#A[# -ZZ_-UCRY(Z 8P)=[O(7'E$&"F7(ISD2/(%,/4>N(3#"77
MY_/[<Y\OH:/+JXM?[H<S.<J$V&7>;SGJET?N)O3O+[#X$>8P(>=T44K]X0)*
MTT% @1.DM%FZ'RZBPI34U0S@ER&,8,<9J^;LC'DB()Y-LT-AFBX*](4YB?NY
M^OCQXX4L34AM/_0"OLVS*:A]OO2?+N)"B7!2(11G2T(V:84%$8^R[;A@GSC8
M;JA04LN2?7+NNR7DLB1'[M$E?@&E$_/Q NM<Q&1)+<&#LD&E1;ENG(#O5<AU
M!,476(QUKL\NWY_AEQ!/KF"_U_YXHBK4"]?7*J&[OKR@+P'U!'MTZ1F244X"
M6(+$V34N07&/(>>P&)7A&9?FV!/,5E-#09X09J<$GK0H7R'8\)*FH22/?, U
M,$)I.C\O]DK=)I;DQ8,P6ZAI95&.N,;2E<Z"DO^\R- -IW8=X=Q1[J0ZJ);H
M8-<34[,(!?M2K&G6V<VP7-J8<MW[$*U[[-T__LNRY(9!/,\/I!CB3\F/FPWS
M%G[T"_R&Z\TG'/@</A,+__$P'51\%Y+/'A.VZXN0TQFL;P[A3L=SNJ$(_'7G
MA8F>OR;,B\$2[RP&L]VL2C+$9) .73"/279@I;R\M,ZL78/P1]*F!8U:4:L6
M-FM%[5I)PS]>[#>WUU$(F_K8^X?\-PB @"U1SB+N%7'EF$13T2:N';K-Z^V&
M55HM_C$![7@H8>8"N?-W?2QB#HK\#7%QVYJM*$WPJT&G 0VV40E:V@K\NSL>
MS<;#0:\S[_>LF\ZP,^KVK=GG?G\^:V&J!5/ZHQ@OQIMDV]'@55)!"]RU'KC9
M'/YSWQ_-9];XUAI/^M/.?  $+82-(>SZ:YB(%:H23W0 ELN:UL1255,+ZOLF
MH';']Y-I_W-_-!M\Z5N#$?S=;^%M#B\1JUO7?Z[[@>[HM5#^T C*SNRS=3L<
M?VV_SR, G!#0UH,5#1CPUQ3-?.4*:'\X!%KK+[D^_MI"K=%?P_6:\.UX,>',
ML]F&N!U;6M?,6TX 1YM1,8:9Y/%VZ2VCY75$@QX-"'.+ZNWQ+6J$XOO+ZZNB
M]OMP?]^9_HI2,)G"^CR8=(96I]L=/XSF@]&=-0&1Z0[Z,R"5/5M^TK7%9-_?
M66"Y6'^)^V\%1B,P'1<^8E1ZP1[M<NJP8.@+046)-%21:Z%^?WFU#W5G"%^X
MU)1OQU.K.^WW!G-K.)[- -T6OQKX#;PGX-;GK!0R!846I>^+* U&7V!9'D\'
M+2KU4)EP_]_4#CKP:01EN"AIM,C\4$1F,AW_W._.K0Y\,?,6G+K@P'X1;"=@
M[ <=S^G_'K(-*B3EFV"=*EKH/BBA ^MR_NMWUF38&0&$HY[5_]?#8((JT'?6
MJ#]OX:RE\F#!Q'^F?+85H%D*C2ZC(=7"][<B?*"W=J:@BGSM3ZW9KS/07&<M
M: VVK8!X2SQBB-:_<LPTE%K(_J[:QN:=T=W@9MB/U\L6L-J ?2&<$0 !X*#
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
M.? #TK/9Q:6!\B?"W->=S]-T]$VG-&)S+YV<SJ2L)C5,JRL;L,HU4(/64,_
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
M)/>^3M$]L%]B) \W)(!-:CL#=2Q* BO[*\3[Z8F,Y"Q2.:1WYI\8[QX]PZ+
MJ9S&7+[ ^'F ?3< 76.]D9&R>,#$GXC<@GNA3",S(PNZ#*,G:%#G+ 9RGJ@M
M<^=I_NR?;)Z.;\O(><)(>W2*P4BI9V^1#SPO0$9[$:/XT]CKBLU3E[JNB++O
M4 <MF#EAS\0;>V,NCZGC]PGMZ'G"1)MXM?;-N+:"UX/DIOU([-\RVW5JZ24.
MJ0X>RN2<D8=5-4T)*)P_N: O<H;O=4WI$_7".N^H5E<Z_H"JR=LLA8==RO@N
MYL+()F9+[Z5H,F\HZ8]"]2A&:RO2R1W.+F=KX7MQH++(Y!;.7 <M)SIR&3R,
MUXBVC*?//@]%I!R<D_,>[9(-"XC[A8 Y#UW)XLCJ#;GP(THJ)D\]>O_";'_
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
M44(56(? YL3'!K,>_3(*(U>8V%R^P^>/2/P68E8!S^GH5:1O1J=,XICF?O)
MD-#$A"=> UUT^8D:-' GWX5==/#19-"K>,"@#WRT&TV28GZEFA7>BHNMTC#8
MA?YJDMS4KFN@"$2!87%BGO$]L"*'?4\\$GE?B\> =6M\6VY_O$!FA;VB:_*/
M_P]02P,$%     @ U4":6$ R;5)I)P  '&T" !4   !C<VEQ+3(P,C,Q,C,Q
M7V-A;"YX;6SM76USHSJ6_KY5^Q_8[(>=K9ITWM-VU^V9(G[I]I9C>VSG]LRG
M*0)RK+D8/ (G[?OK5^+%!H.0!-@(?*>F;CI$$GK.<R2.CHZ.?OGKSY6IO /D
M0-OZ>G'SZ?I" 99N&]!Z^WJQ<2XU1X?PXJ]_^<__^.6_+B___C0=*H:M;U;
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
M'X0\>>KLN](?CG_(>YZ:X#_(&9C(*1A_$"GIVY^'\]9.>_$,Y^W=$ZWI+19
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
M"^7LV B3/O\ YCMXMBUW277KYFPN/D;NVJV[JJ<%4<)C#M@RI2#[^I47[#^
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
MN^L!QHN1[7JA]0"^$Q]A'PLJ2!$TT5#&+"+21%,TH#3LY5_=PQC)?1MAK#H
MAD.Z.+3QUWIN\PYK=NVF,%P&;*:57,& ITACE^(GK]&0VL")L>$^+: [I&>S
MWA>(\_49F\E5YWT0)R8Z$3&02>@>[H(U GIXA&MM D_:EJ&N;#Q=_NX]IRZU
MV56;1G!NS#+ZGG4=>?T/$DS27+X'Q9I&*1<^">_V(\>#R4PSMG:9(_?9!EA)
M&_@J-XWJ JAE-"+Z&D0D<!9@J>S3CWBNJ-U5U<] (SX88VQAHWB#$)81"3%P
MPOC)_0GT4#@4C3G.RYJF82>4$M.;6(%&1J^#X[QP(*M*T[1#&&OY9RQH!VJ\
M3?5]C!)97[%6HZPZ36$O/UCF<84*ANALJ2& YQM@D)!L;/!DF?CIA>-86^W6
M;=7WMA8;E@(H)4ZJ&\G,@1<DY+P>?@B9%[W0JC6-Y%QX>5+GGIANW']L'CB@
M"_R? RO\@NR]GA3*>:HVC?;<F-D9=BN8O)-HNIL4'W=V#)=8(\U7"&'T[/2\
M4JC&!(&U!HV#RX+PI!>)6.!6$9[&FJ\JN:40JHQ4NXY)?!Z,?12+H(ZDUFZ^
M4O###K6@S(PL1S0H)MK6.Z:"-$/<I(A6C@M#AIMGCV54,%&'*B!3&I743^+<
M+FQ34)IHOC8(8@]UHL2\*<?Z-@0PV(=*N.LW7QM$@(>J<'R/7[*?.P=UWT8O
ME@Z0JT&+^+PB2^;T2/D\+36%][)%$&J 3#E.#O?-V#<#9-1H"O%YH88$TWV(
M>R,P+0[\ERM?X-"/=O[+_P-02P,$%     @ U4":6/HE5< NC   73() !4
M  !C<VEQ+3(P,C,Q,C,Q7V1E9BYX;6SLO6MSX\B1-OK]C3C_@6?.E]V([>O8
M7H_#WC<HBNJFAQ*Y)'MZO5\F(*!(8@9$T05 :OK7GRJ ( &BKKA5<H9AQ[0D
MU"6?S*Q;9E;67__OMUTP>$$D\G'XM^\^O'W_W0"%+O;\</.W[Y)X_>;/W_W?
M__I__L]?_]\W;_[G;C$=>-A-=BB,!RY!3HR\P:L?;P<KO-\[X> 1$>('P>".
M^-X&#08?WK_]T]N/;_\X>//FO](F[IR(5L'A(&WKX]L/^8?1L34<_F7PAW<?
M__3NX_N/?QA\^/"7]W_XRQ__-!@^Y@4?*6EK7UDR\,-?_\+^\TQ['%",8?27
M;Y'_M^^V<;S_R[MWKZ^O;U^_?XO)AM9__^'=_SQ.E^X6[9PW?AC%3NBB[P:T
M_%^B](]3[#IQRJ!"]6_/),@;^/[=J2]A"?;;F[S8&_:G-Q\^OOG^P]MOD??=
MD43V6:.3O#C[ZL6G"L7"?WR7?2P6]25-%V!GY2ND'-GUX8<??GB7?OWNO_[/
M8/!7@@.T0.M!^J>_Q(<]^MMWD;_;!ZRI]&];@M9_^\Z-_']2U!^___ QP_S_
MW1]5*?]W&'KC,/;CPR1<8[)+.?[=@+7_93$ID>(ZH>/Y3ACAP"%O7;Q[QTJ]
MTVLPQ:?%Y'<- 2YCJM.,D!%FI/H>4_$[)V!\7FX1BB,C>#K-609W^F,T6X^V
M3KA!T20<_S.A,F@.5=HX7.!SA]"_;U'LNT[0*1<N>NJ/)?=^Y 8X2@@:!@%^
M90KY@ F=TST_GN(H0M'*>0Z0F;KK-VH#Z CO=GZ<RH%.,U1 ,5TQZ<KI-\2J
MT:X-N#.R<4+_7^D42NF:$Y^2M'>"H1O[+WY,J;M'L>,'=6$;M&\#_C+9[1QR
MF*T+A+DX284SIR.3B:>HI?<X>8[72;! +O)?4KDUXT^;!$!EX)S@/2)T&J,K
M6KIVTTEMGZ[GG;-.W354IDU"NFW;^%3 0SHEII/&U F]+Q%:^)MMW(/::5,
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
MU_ E[!:4[Y/_?VB'_P(DM@4R#,/$"19HCXE,#N5B?;+_C^VPOPS -M?GB!)
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
MI-C@"*T*BJZS0<(>[#L&KPWCF/C/29RZ;3 ;_\P*B@-*Q29]OPE%*F=PVYU
M"#AKHAMM\P...A4>@)3F):H4 ^!O[F8H7,X)9=AP)#?T/#_K>>[X=+,]<O9^
M[ 0%DD6^.8V* (PXW4M7AQ%PY+U [%",O+%#0A8L,73=9)>DJ1GIB<MW??$E
M175% ,:A[N6MPP@X\BY0ESF<\6Y/T);ENWU!V=DZC95%\6Q-#]EB1[Q9*P L
M23V,?%.NP%&+*G.T]W @+$O="Y<''([\'OTPI21'(I!>M1@ @U+WLJO"AB.Y
M=M!W>N("8;VR,<+K,0N.;JD.IVHCF: :A*M!+9G.! BAO#UR^F,T6X^V3KA!
MT20L2T_Q$LD?Y"^1+%?TG\?QTVHYF#T,1I^'3Y_&R\'D:3#^[R^3U3^^NSU-
MTIC$3%QL-XC#U! H?HU$4>>*'B!1( %PE?]$DO39$4%9&"^/:*E8]6)_!0T4
M8Z'TT0M..0#F0JDN":Q^(-Z[$-BII")0U %@W],6AP(***.<XA4>?F$ QC=M
M88@P0#>5R0>+?GT YC']@:,/RV[Z-H>%)T@E5"X"P(RE+80RY;;?K>(<@U7/
M5TFJ #!):<M!CN3VGM7M/2N!=.A$25@,W#W*_IV$52O$@FK5 R:O#KE\L;AV
M*P!V:'H2-D8&Q^IVL^CJG9QJ#H'?MLFV<$I<;NDB'TVB*$&B\2\L#6"<MR!>
M(3PX\IH3O,[22XGVF(4" (YD+4BEB B.($1G$0H$^9MC)CZW^#[O,/32WX+T
M7?)/E(<,TY#X$9T;[A/")A%$\7F*8(A>>@9P0FQ!=7IA%1R=''J_),?4J2LL
M,#BE$QOSGWB,+Y0I*= %HNR,_!@M$7GQ791A7" 7;S+IR\(JN^\6P%&Y!6WL
MGD]P5#%E3K9\%D=-MJR>\_.GQ8:,89^(>$VKVQB DWU;F\X:Z,$K0ZJT3^@U
M_6(H^\NZ ")&NA/U)5CPDLUTLZ9H*Y4!W)OJ>AB#%"[_])JSXH$R:)D\1[[G
M.^1P/ U3#"P/KI$=5J]! />R6E"")AR HQB7\8TY0QC]]WZ464#8A7>1!>1S
MQC+-J-'ZS4.XL=6"UK3'D.O0H07RT"ZEJXZ*E&I#B!SL6 -*>.$(6&.J<P(T
M6V>NQ=R:*C5&-VL20MKR?I80"1.ZS@!DLL!E6Y\O(84^WNT#?$#,/$.)]E\0
M>]GB0@LZ:!]"=O4&*M$!1^#,'[GM;19F^ISMG\,SF!FI/AN$1%O/VJWUJB+=
M64)KXX>C$+([;L,7QP^8SXVR@ %<(I>>L=)X^Y/1[0ZM,4$+Y 9.%/EKWTU-
M:P6C7$V[>P?]]ZITW1D\>^38=:@I>X?T(<"OGY&W0?F0%*!D#\O44\9:O?2J
M<MT92UOGRW4HUCGA\/@;"TC(W =I,-DE4S/ A4'40-/:Z;97U>O.>-L]HZ[@
MDEAVZMBBF ZDX+N2$"4WQO[8X,;8X-]*??[[=[<;9(S$"+EO-_B%*H2?44=_
M.!-%?_EYBC9.,*9[__C N2'&+7$%]\&X=+<V;ZNYFG7+O>)5_6SW5I=$"7).
MELGMP%XPBOSTI>H1GL8>-XA;7,QB3*%(TJ=3.9=@&/'9UWP]5!7C>[L>>KL>
M>KL>>HW70V_71R!?'TGU9('V"7&W+#BM&L$@B_%05 00/*XK1S48./:"WUQL
M3J/G3WL/OQ&_9N\BY$6\6(_9>HT8:4>[YCDJ>82CRDO!C5L#$.(M%UUCA'#&
MXMPY'.TE)SUD03T\N>I5 1 1K3?NY# L6+3N_8BMI E!_&?;492NTF<P,N/5
M]^_I_P9O!N=&Z2_#Z73V=?@T&@\>9HO!:#&^GZP&T]ER.5X._BUK'*Z5RMTB
M+V$>PORYR/0)H?3]H&'H/?@A91@=<@OD(O\EO>4F,V?5;:W?T<GB:S.S?ZX1
MC+H%BA!YH>I >Y:<D74KP[&=-1-Q<7#K8K<Z]\J)E)ZV]:K".'R;*;&^%$$<
MROE3M3P=BK0*@*.ZB5Z6KA%)@76P92UV./1>4DI7>)GL]X&/"%\*)A4!G/],
M96$"KV.)?'4(W?BR&#^Z_6!_.\_;>I+1: # *:^QA#1@=BRIU$%\[E5SX(AJ
M 3B^-9:)")OM/%SG75'^=N:92)5]4K^Z-:NE*<*2':7N[O'ZC)ZB\^$LY*#,
M3HTKBN4ND+Q:TJA)  ME$]5I!AZ.,2?GP9E8/C(]C:C9&( EN9$NU(1MU6 D
M>5S-Q&;T\4/59C2:/3Y.5EF4T_#IGD5 K29/G\9/H\DU6(W@9\>>'YTV9QEF
MD7CL<5 <;F)$=N=/$G-/C7;@6'Z481(UT-FUJYO0*S7UU&H)AN6GMFK7EGR'
M 6%S@JE>QP<ZP3(GSYYU5Z5-?'0RJP_ #-1 A8M.,@/0'4@MC76;XU=$EH>(
MSC&%E5(L*HU* ':\;<A' ^DM^.86?".0#E.S%56SJB:J#A=:-0&,,3U):J&Q
M>D"8D8T3^O]RCIGDYL2GAX.]$PS=V'])+[?=L\SS@=Y!X0_O/[S_<'E0F"T^
M#9\F_SM<369/Z4EAOIC00\)\.!T,1ZO)3Y-5>F X]G,[,=QN0]QN0]QN0_P^
M;D-$)"[,/?2WLS+27WXN7F%+R667C:MC75[T"NX\R & 8#MW1E 5MCL_Z&B0
MC/O=Q5$H^'^*FO0%+D=1(8LSBI[>Y.SF$=\[FV>O(2+1UM\+II2+[_W/(ZKP
M:>X\<D&U/:X*9XQ*"?O3!%<5*ASM<A]Q/*BDBZYD'\$K9GG4"P1^WDKP:-;Q
M#5HXWFKA ;(U2ECBJ+U#XL.3L^/%NXJ+]3^5J:X3"+9$/.)[9_7Y_M!P0] Q
MMT*9,N%<9U#7_BPHTZE<)@: .I@FI\CQTIQI$=U=)%G+6>8K3+*'F@E5J(WO
MSBDQH334L793EJ=;8VT\35RU$7=]PZJT0N1I[B2BDY>WO'S4EX\<%IQH&I9W
M4+#D\(OTO]RH+D")W>DEPD&P6>X$OR@$Q+_-T1 >EWLPS'&S9M+B[]7&.F55
M"+YHKI)4]JI**#=GYLV9*9#.71)1@%$TPKMG/W2RV[IT-J"\27]);_&N$2'(
M^R"0FUD35^/>-(,%9P$WH+N<C?KXO![=*Z:W@L5^P%9[ ! XV[H^J%'#49?+
M5/8G \F<[K\H3YP-NCN4DUIG103*T: ] %=H]%2A 48X@I<];I3O*-(R9W35
M)/!-&[N:O EU =[REW0A2D'"XM]-_A*M"2C+P]IDFLY; /":6XL3<XZJZZ$Y
M_K:GZH3HH8Q%R4W">Q30LQE3L'/\*=T4W#DQ)?8PII1N#G0*(91(JJ6_()<_
M1EMI%L ;;AJ#M16H5B,0E\ENQUYS6!=B#].;5ND3Y8'/[BH5;UK=X^0Y7B=!
MX>*=68CBQVJ(XO++X^-P\0^6K;D8G#B:?4GO- WFL^DDO=;T9G B9;#&9. =
MB1F0,S7P0QE9)OGJ73#!-"@JW/.1S0D8TY=;A.(I/J:\%]M?Q<7!A$#*A5 Z
M5@G!V#U%<\B2VFIE%6#8;55:II(*B,PS<X+VCN^QE2&,TFNN69[_].GP>!A%
M2'#%I4X# $S :CTLF=X-P-E]32IQ6/8/A&;/@;])447TR.S$+ ^<>.935P,3
M#ZH_ ZI!@1-51IQT/E17@S$KZFJB2F)E;%8E=DS?X 0G.J4SHK@X@/E/5_N*
MXA$# A%L?04Q[@)#N7I.N\6Z=S%7P8UU-YB5?G*(S]0EM\UD-U3HN9@=D.]0
M2#GK,EN<=*XR;>0J8N;K@K/^'FAI+JB8<51'[2D -[\:Q>6KG;SY[_K<_CR;
M4S4'D$"2NI4!N/K-Y*L+#(XC@+<]>G2^^;MD1P^!J0708']>J0G .6\X0G50
M@;<(Y_E#F LQ+B81,;4%?VQ@"\Z)^(_!GI$Q<$)O@')"X)N!SXD1A=S42Y6N
MJMZW_4M S=U!D1A=JR88 [*I^,I6, VDEJV8(DRT4WE(L$Y-&)85 U75DEX1
MH>4(.S]@=RVD)Y7+0@!L*09:5PY\*R.Q&_G@N%NZ 2"EW%I204AK -BBUI2*
M%)9=\V-"*"N9^93E'_[&?I*[9&05 .Q :PI(ALJN(09M?5>4[UQ4"$!L9DTY
M7"*Q^[9H@-R8^.XG%![#AO4F,8UZ $(I:TI( US_UX+9,^H"2WWA&QAW8YW]
M\@46.SP6ID I?;5O?Z\H1(F#UO3TD;)CE^R$7+SX;OMZ<U7B.1LO".V?D9F5
M2,S(\G?;]Y EC"P3:O?QYBVC<Q*>35SC*/9W3HR4Y@J]JF!<HTWL%7I0@0I2
M:;'0JPK#9&&BKWH2!&.T6"+RXKMHZJ_ET2"<<@!,%R;Z5[JV4T4#T_!7\6KH
MVOVF +RH^JCX3Q>IILSK\Z\*$7V)T#H)F#Z:"KI8$[+92BIS+71=7\PY[I#.
M7:8:F%X76>$[5+C(N\*S]3IV?N6GDJC7#F2+%E=V#;!V+<E)Z!+D1.@>9?^R
M*T)[@EP_LR)D8= \T6E6A&SU$LM*$QQX-_@DC.FJ[[/'J-+(=?:FE1-Z5 <7
M_F8;&]^,JKSR9. -/],R<%)B4G\X(X>Q;D!2@J[)*_[ I$@W1B_(N^2SGE]<
MW4#O4<\B>NX.C\XOF(P"*CK)D=.H!8"><EV17L1*ZV.V'=4NHO1,IS*EEG$K
M, ZF-91;4\I\U':-#4D4XQU[B39@@;,5BF7'5\VZ (ZT-?6Y9';0 VM5F'1G
MZ"&ZU/\JEUNU&( S3@LBJN*R*HU[](("NJ'T5LC=ACC FT.VEY(*1UD+P)FF
M!5DI8=J=%?%NG\2(+/$Z?G4(ND IGQ7UZ@(X[K0Q*^J!M2K,TQE&*K9**0 ^
M_A8$5(%U\^YK>_=-]O@W__[-OW_S[]_\^U;.Y"J'EEY5:RXM$V1\IY9ZIKX^
MMY88D]*OI5<5]J%/*GD]@."-[@MZ" H3M$ NWF1=FIK9_]C S'[LG64<R[N'
M;U2G8)W-AJ#LON%L?00A,Z/+JW2_&LX)]A(WGI%C@(1@+\PO!L;TK</X?-GD
M0^E]&W(D(WV1)2-$G)!"4M;^?EFF01<\YP$ $85/YV&MJ/M".<L;;*7Z\.+J
M"^3;-3[RAZMJIZBN9FV7J(NH9&643EJ][PD%D17#'=L7T)T"(FM,=BPIPAU=
M6+TLR>KII1%NAEK]N@"V>R8B-$0'?J]7F"".L$WW>G]JL-<K]$[W>]F^[[;7
MZSC^(T^ZG+]FL<QF$EE8A*+.U>T&-7%9CM9.29&&,ER4@1&HH*5@Y0CM$HH.
M'PL[]J1^&NRB((!8 :XZ5-X!NZ"[ U8ND)NEDCWF6E=Q5%X>P.HO9ZR<?%MG
MQVLYM)MMN&Z']MNA_79HOQW:;X?V/J1ZI%\DO?-G &MT'7F= <#)U3C;I]DM
MPLV47<J89C<SZ,E==&Z4E <0;U='*A)$4,64T<="R@C:LG7VY?BG,3.*1,S'
M-_4CT2M;-=L"<.)0*JM8KMHPX<C\J+SL43B6:Y0X;OS5C[=Y?#4E/TA8"C3F
MSJ7_]U;.-_G,:=82@+C+!I.L&5;P1E&. YS/&U-;Z7^V[!=/6RL0-L#K4[F;
M';7C6PW^CCWJNL[OO<[6GS#V9"=SHYI7:U/50F?W/HJ<0JG%5;,N#$NL@8H:
M2!"$*:!PVWP8SS'EU"2D=,L3FZ@J =AT&>GFQ2TC*38HTIJ](&(BJ,OR $ZC
M;<CH$I;E=\!_ R[!AK;FFTOPYA+\/;@$N\['<O,/0DG"?3/;_X;-]K\'.U7[
MSH"6[52-I\J4J&/.:^0QZK*'*S-K*W^Z5-6Y,L> )BKP-L/EUM_OF0:%WF<G
M]&A/FQ&.V*-A$:),W-*_'Y,+U'G%Z8<&AL.<LC1=U?9(V\!EQ/W'("<O_>B=
M"81O/CSM*:6YJBX*W2)T-#-*<9E[B\FYQ>14AF%UWI,G%Q:7OZ88'0F,FRFG
MJQ08PDGI9KRY&6]^#\8;&%.+RH+ *VC-9B"FFCMQ7*U=8(D"M@CQ$QZ+"@$X
MS6O*YX)P2'%#O/.=7 R*.@!.\'I24>  ?V:?Q5M$3I%K683:$S(]G']XW^!P
MGI(PP#D- S\EXC\&(;J"(SC$")[?Q?'\=H'F=EBO,V _$4?QRF2IQ#4=R$N$
MVWT;V@F8X7JY12B>LAX8W\2G;W%Q, =OTQ@*,21P@I$>QV458)S-5;JFD@J(
M62G= XTR-_K4=Y[]@/)3\3BQH@Z  [Y:VTKW)^1X;H$$MT "+<O8$U.V**+$
M[G'D!*6G@T[O!I7//9(WDIJT!L"V8.R';H*WZVB!3Q0W(VX6YN3-UJF-<(Y?
M$5D>(LY0-*D(P.I@+"]-:-V_048/_FRR'P6.OXMFY"MRF)(<'^4XOI)V[^R<
M#3]=EF$#5W99K Y$. 8^GI'H..CI="';GD@J <CB7^OVK@)6YW,@?D$D9)-P
M>MR+GG!XW#-Q)SY)Z3X%\*>V9CL)'O"VUJ\.840?6%"4J8'U0P,#:]YO&O $
MWZ1ZM'GD5.='@8/,IJJH\SM^2T/\6+&:R;?G,V[/9]R>S[@]G_&[]T$)#M=&
MD^C-"?6;<4()MN;+V D]AWCI\?L1LP=0Q&%9DL+7X'-28>B O7?^VG%])\@Z
M8@$7.*'C[!-[:DW%;?VZEN=L?>;K0^KZ2#I"A)XH0BVU%Y>U:'PS8[P80A=*
M[\0Q(H<E+>]L4$ZD1-&EY2U:S0R56PJCB[G[9#(]FN&BN\-X[^9D2N9QO8H6
MK5V&<[H>'KLQ'(G#-EP(S9X#/[,=42J?G#@ALJ1#ZFK][RP%;@#MG:4^-G 2
MRXB31A^HJ\&(0=!52)7$RM@ZF.8>'3JMTDT#G0>^8O+KS@G9+1[Q["8O#R#$
M0%>Q3O.;'!$<GXMH!JC8QC4MH5, ,0?:F(KC1#$50HDZN"!SZ+HD<8(%U;8'
M3)9.@**C7S;;,G)]H.9M (@P,!)J39B]>:]35\UAA<A.ZJ,N%@,0-& N BZ2
MKKF<FPLNR)W3^1A[/'XK*@"( 3#GO )3YS(HC*MRW\,-A<T<DRYM!<W6CYB@
MU=8)5RBD!=A[7K-U>BXXIJB@1(V<O<-2] O/1>UW!"!JH(;,N^$%0%UY15F9
M/M1%LR\ 80Z]:(PF._I;2@G:^<GN2^CL,(G]?R$O>S/P"8>N.&#%J'J?HOW/
M]I=>#81PSB,GLI<HCK-M=;1 +O)?V#Y<*%3SZGT*]<\MGE/T$78]!-,0M7.'
MV:OM0^^7)(IW@F&GK-*G5'YH:Z@I4<$97A?@Y)>G185[M<>\[^Z,WUM >7&9
M/<:6'%=09T/7UN,B.PD%J^D*?T(QW:K] SDDIUVUN6FMFUZ%W89!ISM67(6:
MI/NS!_\%]:(M@MYZ59K6#$9=<L22T>/X"A .C:T?E9J]RK0U"Y0N.DOR$9D
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
M@^M /G]W_&?G0C<DZX.TN$4+60W>2Z%T/2P>"-L#1"Y>&C!?HY)%&UD-$6@
MZEH04^>%&(A 6KS7$]C[YD<P&9:N^9[:I7D$\Q/B:=;I50+-#\%J0!UP?H%&
MQ-]%.#Q*/9H&DAVJK'2OW&Y^[)5!Z6)E3=(U/5OBTV'&'H3.3GN2!5:C5J]\
M;W[LU8'4N]UTP2[T".S?A6]@,CG6,V87D-CA,%?1*U_MVYPKZE#BH#4M?:3L
MV"4[(1<OOELV 7,DGK/Q@M#^&>E\DS.R_-VR/5?&R#*A=J.+5'/25!'H:]*
MM9A?<Y3\\%_YO'U]T;\"/ )1"TL#B!%N)F$A,CB!-GP29Z\A(NS*Y9QN1NCO
MSD84Z6!0'T"8<A?BY&*%&,V3'BD+WTRC>RH)>,31/6\&:6<#_]S;+>+G%O%S
MB_BY1?S\OB)^?BL1#LT-FK8B''Y[/OCFYDY]7#>W2HM!/E(H-T]B1P$_&H!N
MP26MA_FHT-SB%5J,Y)%"N47N_.XB=Z[3C]L\;J=G-^YG3)(H'79LO-VCD;/W
M8R?(;X*EGX>AMT!N0B*<E431_.4>/7[S73SQN=7RXF*!]=/O=<4+]<.36RQ
M=S%'7<<"_)[OY/Q6+N6(=I7B/3YO:T3G@?0H%NEO%GOJ^,K"IGKBRNUV5UOQ
M5OU>[[JVRT4?@-XN*OD"(N2^W>"7=Q[R,U< _>'L!:"__#Q%&R?(T@]P?#K<
M$E<<R\;%TR.WLVZY'I;J9[O^%(ERY)PLDRM@HP6'@XC3,$S:=#>4]CO"TDT[
MMYA%SX&:J3R";W%ES41SBRN[!2M9BSVK%ZS4<'I\2AC<V?H.G]XOB<[YUN\.
MJRT:NI1<<DQR>^!-GC4:N=J L[J ;0A25U8@<F6V+([^./Z%,BSZC )O&(D#
M:K5J ,B?V8(41.BZEH?VK$KW31Y//(8- $BSV4!:AF"A1T4OD!.PER3SUT!F
MX;T?[7$D?.34O!D "3V[V';(('<]9.^12Y 343Q/2))3FUL,0&+/!L./"PG.
M(,L><V+J\$ 1F]T9T:P+("]HL^&DB=/J=0,6RIG]9_QMC\((F5TL^%A-&SH=
M#Y=C]B]K=("R5N%?()@B.L8R3M"-NDO\5 :R6P/2&K_CF\X"NX@&@V_7FW\C
MUYOAWLHUO-X,Z%8N?_RH3*;*6M;LI)IX2CFW95/(]5E$4R C',7#YRA]\E0H
MPTHY !;.6O*K (&SH\UNMV2 %OYF&\_67R*4[KR'.TQB_U_I<Z4"&6G7MCC9
M*?6N]$:R+B"8$CQE\L_VGQI2J]0 ,<8,)54! 4<Z,[ICI"H3;DZ@!$+A%03@
M#="2!8]V."(XO:"C$@&O(  /@)8(>+3#$8&*\Y88+C#V:S$<*)_9[J0\')E2
MS-;Y^_+2#;.\(HC9J.;N68[,JBWJ_*Z7F1'J^ZH1ZFZV6,R^3IX^7<%C->PE
MK?-SY3*+$[=DO^-J1)#GQP^.R]X^XH4HR@J"L45)6%YZ,92#P>JL5B:(&[<H
M+VK79*56(C'W.\SS\(7NE%TZ;WCE'L6Q@(H* (YX,D4YN9@4,"R_(1<BNC"E
MA'$%(2L(X.2F$H",_"Y"47!XYX<LKEW)6(WR /8_6@HN1]'%%:?\[/&$8S1W
M#FQAD=Q+DI0&<-K28K$,@]4)A,J>(!<G).)+0%(.P,%+=_K@4-^!6J>G:>R$
M8E6^+ $@]$E+?2_IMJJR"_2"@Q>66$F]#]&L R D25>5%4BZF*W-=GW2X@""
MC?3FZZYV?*(T1EG.L'"CYJ^P*(! ("W>"@%TLZ%;'"?^.<&_(#>^PZ$GR3NA
MJ&#QS**C)\4MG0Q&+YP^.ES4&JU=U>*!I2'W!8 ZW(3D7:U>L7H_PBEL,[-&
MK;T)!T/O$3TCG##/XMXA\4&2;Y9?#,P%98793XR@_R@TM$^(NW4B--P0E,:N
M7%(FS MK4-=^!)M,L4[!;/J .IAW[ISPU[-G0CSE\,O9CFTSU:/3[,.'TXV#
M[S>2%D%@JE+,.K<<"+WG0&B6GH\>H A+7IWF3U(DYQ.5A9R-04QU!^P<_BO9
M.3_B=?*+?^_XOKOU/SMQE'A4'[;XT]M?)6EGM*M"SM*@#:+K[-K+/25OB5T?
M>8XW]7=^['B2M$KZ=2TZ"\P2CTA1=,[^)$3I</N[[WP[Y5;7Y;^TLD57@J$
MI#"ZEL#Q0/OCCYI,KY2WZ#8PXW.%\DZR#(<[]&V!0OS"-CS1,4/GVQ?IPPFJ
M.A;="DH6JZGO6H.?$'NW)W!";X1Q%N;U@K[H3N**VA8]"6;:K<#1808IEO(T
MQ '>'/Z'LHC-7UH9I:35+/H5M#-,20%TP^\1"H)HF?R3"EW-95%ABWX%'=Z*
MR/X=YT"[M*?VGP1-9"0BSK_82VWA,GF.?#H7$5_VXKFTN,WDPDJ&2BGO<*S_
MPPDW++>TYFCG%K>9H%=[P',I[^+@G1!,G/<?/OTJ.6%7RMA,F:L^2U?(M1K.
M4;;[24*E>07[MUX*HL T0Z5Y& !Q7^@P41>'$3(M5B:Q%#IVC!1]D^(YA%<*
M0("T2CW.N?,Y]'?AW699U[?H@QY39:4!!#]K,U>&HSLF?S1B,K<T@ AH4R9S
M<73 Y$\$H5 1C%0M R#>69NA5>KM7I7 X29&9,?H7]%^)#L-?M'^]QJ"J&?-
MO08?!2@92/<:HL(P=AHR=9))H8V=1F,YG*XT,:JD@=/<D@ V)G)-*@J BZ"3
M'(S/\3%L^.XP)\RF&A_F@4.WH:''LMKMV6@53_9F]0%L7]0BJ('+[KU1'+Y0
MZGPZH2H'AJ L@!V/_M 08+ J@WF O WREK$3)Y%DC>:4ZW^!%MRIT5R@.1#@
ML%ZZ-'-+PEB7A?HCY#R(%3G-&'4D:QB-<! X= P[P5<_WN(D3E-+2><CDP8
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
M*].D$0[I"(E27MVCY_C,TB9J)&L50!(%ZSHDXP\<!1+,H<?ULS*5FJU+XE8
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
MANJK38M\Z%I;\F2(CSC$+CE$,5VX*<PEU7"ZALZW.,8O.(@=WTWIYAH839L
M<('(0+;&\."([+,3K%L06Z$9 />$.A%= 6+7XLM/9)B]UC1>TY'NLSF#)R)A
M40!W>PS$((1A]2[(,CL23,(U)KO4C/;DD,PX9G;]XV,U^]1R_(G=_1A,GAYF
MB\?A:C)[&OS;J?E_AW_A8QG3U4>53>JR4,^)XO+>[Y*(O:,8'04:2;)"*>J
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
M3416#L\9!R8#H%>MS2$<#F!2Q<L="4-O"J5.R'D0JJ\N.E?).F]PJ2[4>0
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
M5J?>D?"2TD!K_>5X-,X"4"NA!5 C07 0VZ 8$8;0-K"/Q,8)HA/5"'*\&N8
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
M%&*::N?<FD4 ,BR!HV6MR0UQARF^9;3JDE?>XV?J4J[PBT\?:5)=,DZS"VX
MU-&WM!1K:(\7VK2D-EZ8I<1)E%,G?#5TE;L[#&:%B>,WKLO&5+4@NB"<K"6
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
MALS&MT$D:1$DY\0S/[53%V\:93T6RQL!<-<E\U4KD3,-.&3X7-^E=V !B.5
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
MYCA*/B-:8=M]E36M*?)W8:[M8 E&5\6YN;;-RGWF!I(5&C=CHM)A3A!8)?;
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
M? L;KFIZ;W!E)MZ&R]V.^<Q):+Q)2ZZO=TIKC9LE?>GB!I#!+'>9]=^+*%[
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
MC/7"3*HL<@(WN?R(2EE%H#5QW#2YZ60=_YPC2?>LODJ9?HT&1&V:YW+4+$A
M31"U=R"U2?AX=2+O*0KA9O_/3A3QA<>Y,81JZX,36#MIK(9-C1WP!DQZ8ANO
M!%+J)"5/,OIHW'L:.V3DQ)+8A@-_#"/*7H/;4Q31@ ,5ER9V7)'%PZ-"\:NO
M)O6T[<[WH8?;\7M;2@4%8V)X :._2J9.E'(F&6NB\A8!E<H=&\#8MYN;V2TI
MF%E*XCE&=,^#)_9&92S5Y9I0A^ZXD::K'2[2=[3ZXL61SAKT2-TI&*7K#'3A
MAR5KR&7%<'LT%R#WS.)?-79EM'KA].6.6N<[+^U=D.^U=%!@S-V5B/.%2Z\A
ME$FA'GEG"9P[!6\T$DW5HRV/!N$!:DD7!>MVY:F14;BWGX0DHL=0$N V8,GY
M]['RIVP>G7:'9@*#7P58P,0Z1$ZM?1XFP=BR$Q]QN($L$/ ]T%0^_@8_U<X>
M33UP(F<';<N!3VUSS+%.N] ]$G +VL)C%R1]UU#^@B[2F<H6?-)(WRZTY<D?
M'1;]Y/@GNMY5/-O8?&=0MR]N[^YD@=+.B4Y'O![?37SC*8MS(8(-#/:J!TSQ
MW4V8T#)OF65VN658P<D&(-S1B+UQ='K3O:_4V &WZ[?KJOI[?6N\3JXAL_':
MIR"-SH.G45MU59E(1KU7D53F\L_YFLQ*@40G@H?AXB<:;?9.1/6<N+T7;D_6
MU+I4)K&Y"UZ?UA7<N%1B2I\\06%XX(#.OR<SP1%JP@,'*RD-P/@#%\B#+5$:
MQ&+1L#["?T4=:UA)<"""]T.:(W4S2KA=OH=U2DD1W<G@A88^RIBG4G.>-_ S
MW#DNN"Z(Y)O6C$\YBX=YT)U\VK:;JW =[JCC<W"*3XZ_CE;!+J)_/W$=5@D]
M:!QW:/?$"1$&VN?''GK=D!]]=%3"= AO]U2</D0T._"(J"\.+Y*0G*0,X/[?
MBLM%F20VDD<G,DC*AJPC4C BP,DZU$UI!M@IE2NB$_?1*'$8'R0T5D<''&W=
MKG]:W=U\]Q=RY$WI@;DV@JQ'^K[,S^V>HC (069EHT=O 65 !B=V]K6+&EMU
MI8$WL#+6Q-2%.$-2<"1EENC68Y.;YYE"1.:?"8OC$Q255H[>2^P'O#7N[JEW
M\NEZ5_MNXV?QRLD#V]&M\^+3YCODO<CAQ(ZA[%3<+S>GA3Q"&T(SX[#->3G!
MDW=>*7L%9N3\F9X=+5=M7Y#C_APS%^(Y60LQV3N)N-*M^;HBG_./(G&=DM<0
M7@F"\""FT1N#NJEXWEZT^+UDO,%N&?>JAVR)E(" ".07(83EN]M(C :WT]S+
MYZ;@@V-FS;XOW_;?T\M-]9$%?"$D7F"X?(&N<?;H1PGGQ#& =4I[>MW)X T]
M^R@SA%-)KND+)U<//=K&'RQ64F=.-M[+CX6:]SZ'NHBY+#FGQ9*ZQ)P:O7$B
MA:$5*B+*MJZS"2"U%1DV7E1'OR("266P%+6-;HP6M6WCH4USP"F&$T F.E4,
M$U6.AVERF5CLO+Y&5!9J7^]T@+)K7YPP:62!4K*33D>\05,W\7M<_U"X@ L@
M08%IS:!B@'=E$HO^7U6I4D2"?&7ZP)P7YG. TD(#,TJXL:&'=2ZN.W0E@Q<W
M^BC3ISXY\)0WPS*N"[G $CL6.6<LN&+#3.5((S59NAD)1LK_YJ<"F%5[;UUX
M-13:Z;("ZT(&)X[TM4O%FDR;QFP69]TU&G:5-N>*7S:LJ*),6P$PVVALSTBG
MP\&)SMFIT6V^[JL>5Z8UP30.8NG1.8MSW@_G3\[?PFAS.AY]Q@W6[0!6G\PL
MH+BS72H/7#5IS :*NVLT_ $K9Y&^B)VDN7/IS7T>M/!O%VI7,Q[/'$ Z$F?B
M+0B#,ZQ<?!DI.B3F/L;Q)VN7EA& H];O_@"IZV[Z7/DAE!)(?BHEM6(X2'0I
ML9.0'8^I%N+#)$S@_%<R"<L2B8<OJ>/N95WM3"1[A[=3?=?E0]O"("]G(OB2
MG#&RZ<*.B5ZC,(Y+(^?@>#"T^$#TV!OS('TR'_B05T"_N) _P/M^]X?_5XQ*
M.0RS)U=YU[R]W1/=- 4J?@P3&C^$CBB;E=X@#5XA98F]"<O"?UK/L;I2PSDS
M#62EZM/=3J3P;CKT56@(O\PX+XC@O2""NU@1Y/Q)(4"*99< -HG#P=5L,=TO
M?3]\%R# K035O:,W&F\YY^47%M?86KLS;G?J9@/5>_1ZXG66CO*;^D;.AA1\
MA#=DG BP(K\ ,X1><!<>''89#W?L.F</*.NO/_YEO[F._@OIQQO[OTA.5@9^
M+M/',)*%>1YX2/F)'EYH5&.UEBZX![J.OJ5'[1O:XQW86E*;#FAE&,/N9_:(
M%;PNE\8SP^U.J8HLTS7*-LR75I7CM%-'G*.UN^[YGI-6+^2[3-UT,+_UPA?.
ML5@UPW[,6X[33L9>CN^JI7&1L)]G2?./7RA<T0M]R->!A,5I]VNFL=JE]P^T
M<:#A_UE-_540GR+X6[& TL,!'0(SP0-M6U3B0FOO&>&#OBX#X00+=G O1R#%
M45['%?N]8?[6!50RDK(H<Z(]+!C?0CDWPMD59L@9EK8Z)$\+F[73VJ1Q, Q[
MA*<J)HXM"V4T(Z3:7C.!PV:M*S&PNLN,@*]%@9&C(GDV78QH]!'12.:Z"(>N
MS&)E3:_N>T,.&6P^%ZH_L(!"G8JZ3=T.W7'"@ZD=2NM^S;Z(]P"Z:F#L ET/
M.X"U*.-RM=<[3;[E=)8I069:F]H/X]@2+E3N"M%X'50<BNE=F^U)$CE^#&"O
M]KU$/7J(<68(K8;QL+0,ON0/V3]5^&,]<P2%X=33ZCRRLQJM%+I6&T8/CTR)
M(4>B7C:JBFNZ44*,/OWTZ1OS*+BR(+5@A 9Q[!BK&FMPQ$1%MM J>..KWC Z
MRS>'DHYE0UJ[XT:8KG:H3B%K[HL713IK,(0KY*P6Z0-<"1:<L&(.EK(:Z:+9
M4Q3^C;J)1DF@3AUQ>G5WW:N+Q-7U0KY-VDV'8>\E0-F&,!#[I[)4%O!/;U9:
M++XVFA4NRJP);7$4,[)DA/)7/FG%S-M\[ U2,;.!W%Q@S\Q.72IFUM&:$T0:
M:C;\A:XK\!22+<@Q+]N8EQM$5\AR-'-I%[(L), 'O19MUCB,1KM-NPGY$'\*
MWVFT.<=PFF &SEW(S *4.]NE HRU:<P&A+MK-#;XQB 1.8)())8RV8+<Z8RC
MPH;@2@1;DO+%B[!V3%0Q1D;#TULGBLXL>"V>$C6J]SL<U5F@;5^K58"O*<G9
M8'%O!0?>4$C%25^WA>C%.811POZ1%X7;R:+"HK;\=;U<N#PO2R"X/O^++12W
M9E85L3(A2H\H<SD(TH+,&&TX1$'F <]MBB=DE5>E5\&&N[IXM$1Y=OHIC!GX
M3/XDM?[QSE!<<,X:(UNU^K!H$!9S.%,:5M$A7+B02'TZ'NJ#Y$*5'YC/Y%H0
MY0EZ=*=5^ R]*SU+[Q5F5Q^[#H-T_17P@)IYXE&W%\<7F03QGN)$V!\<%D"N
M0(UY:21NR7 5>F*L$9]9HZRY93O@;'<FLT7:'JH:E[*NQ-<% 5'(5R",]7*'
M>(U7>H-HMZ/RZ:MZ["SA9IQ)*3:QTMJ)O(%=!/W)B1A\VSQ*I_Q;3.ZA=!RC
ML3XVZE"8"^II6Z,:SUJ[SP&I])48PHTR;B1C1S)^^&!H6LODNRNR$&-:_!KV
M2=B.N1([TAK9!<C\M+K_?:Q6RU:*9"^@Q%Y: Q+>WXO2=SRRB,X*$L&!6W+^
M1)-]Z$%*5YP(B&R#'XUNN#%'5V\5:-KZX$47;<E-'4<R()(#45A@09'1+7"9
ML)CIS\,Z9[?C$,#QP8J'/U NWVT8ZZ4MU[?&[<\M6JIN7-,4K_>V"6PZ9 7=
M!0'*6-QT+%55[_2!QX#I=P^43_<T+P@O5!"U=<1JXX.<W#>P6[,J"H2T'T4.
M0Q:GUPYMM_PP<@":R$\CA]2P[W&D6O FHKY\BR )E8<)I*_Q@%B\4:WN7$Y[
MV(C!:E*&A?+010K A2 DE80(48@BBVV 1F/%4I9)8;C2V%('YI X+^:F+'MF
MO1-_B+=[)UE&4"8H? W8/ZBW#E1+:"2=#$48-=8/:#L%[0>@BA[OA]1QF$?!
MU&S %.'S&C]1+E%V>E7"M(F33'!83S!54P37.XG],0%)"!>%%+*0=7!A,R3@
MC\&4ZD"4)96*2<#Q>P+_ &OMZPDR?Z?ODY.<(MV',,THX9P!!K!.>?W>F0SF
MM;VY,H,'HCGC!<E8VX8>FW:ZVC0@!\G(["+RH'D7+UVK$%1VP8T7.OK6)39<
MML>+ %I2#Y/:]8)FGV\RI5^<X%?R$D91^,YAP[+;?LKA@T=/8?"ZI='!P)6U
MR<S%O;O9I=KE]6C, 08Z:C*$EQ0LX3=@>L-=^( 4,BP8:'=*X-+%,6*!RXY\
MH:$\K)<N<_W<:KW@IO6ZT[U(?!*Y6#(-XAE.%KM<;=*D@!,]>EBCXLJ23G?D
M&T2&R@Q[%<EYXX'Y*TVS\F0J7II/%($0X"2%6]BZ:#2)@7+86.](SK!(KQ(L
M;6.J5;OPX?).V>L>\J6ZC9LQX#1/)JMZP;O9;&U=9P&@6OI7(&=CO]E IIX6
MP]^H+QYWSL<[E2+$\B0U+9)O'3+'-5"YZ%V6@"I9(</(Z0R1CP@>:T)M/<_N
MHO4I"KV3FV2OEN2;;AT7K=ID<*)F7[M4+UKU:,QAT=I1DX$J'@'+XE6AG*EM
MZ+!GGM/AX$3G;):YE0GFOX_)>V8C!Z(LSM@NIJC'B*O #0\<3[^DR/J!!G3'
MNNZ)F5"<"](86ZL:=#J3FP/^F"LU2/&(4DJ$Y$^X 'DL\U4J \++?78M=XS"
M-Q9#@AL4_6;2<HGSQ?8)F[(D3DT":V+(<@A<D<S?EL,[$,FY8)2YO:I!JCN]
M.:!4#ZV&<#9U.RJ'*)" E$7 !U*6#1>5S?-"DW=*Y;9_'8")-+F3*-C HZ[C
MT1=W"6^=P/&8PQM3CT:.+^X("A*RF@9<4CY!575!0FZ!)6%&]H5R'K2$DH*
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
MC!-6&6>:6@=0X4%"\MTIXK+(J\CPG#K-+S1#F\)HW!8UAC8FAAN4^MFH5(+
MB!)>..JIC_$% %%B)0V&)&,B.2^(X+TH-I1D6P6DKO=1ID$A2[92@B,1!4%A
M%1X1.;*(PBG@,1*F[28MK)97;?N@?4X!-_(86*-S "2[X\48$R4F"W(D7[Q1
MS3AVR2^0AQ7QS7 G=5 ")F*4>PD\/[(*[BB4507H+%X=XNO(#T["Q3G?<U%>
MSQQ!(R[$DRR>>KF &I L3N 8VF[YZ=\ -)&?# ZIX4"GAC07"4HU>+E I5K
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
MW[DN[$'>39P=4I8^?1$%9)?=I[_B@"'\(SL)Q2LZ!_R.P_PRV 4;]>E\7P*
M(7"0+BHH[-4;."0.DV5,Q%F_>_2)E(.CD(_^ T/'-\& .*&G(>9>L(!6@@>W
MZ.A6/=5H2 S'U%$,B(H143$D*L9T'SNZ54E!_+/&&BQ&A-7V'M\TS.H\ ^5L
MT=8:,/!U2UD'?-JFP"'-@/'!TS>=K\O$P7V2E@\P;DZWAAV'<-,)+&UZ"]H+
M).G /?BX$753B!I344.EJ$XV^XO7DW\-4L;/L4J8:*OTTM4')C;UDEC>[&_M
M '>SWXSMH99<4$<E>?F:Q^"J*)II\RD/XE60KOA2Z1L=-U*7^NML#-,PS62L
MYDQM2^!39C??PR\;&SS*4PY?/"2UXPRXG4.GTT E7"8)9S%P_4+604B"2#"]
MC%>7R8'Z^-<HR+(NA^S1%[!_]M5 Y:ZF'8%[;V\QAB_?289VG!9=GE>.S=[4
MTCMWR1T2K/ =?<$@XAP6?W?K[LY45DF_JZ5?">DW7'KQ=XN7<(3RC>;CEK:
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
MHA>@#+W>0-9/TKG"50^$FBTH3>Z"0'!GEG)J\P:G%G::=$$SF#%,_^O9=3X
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
MO=EIY;MGE>1J^1AI#Q5EG7]#>^C!7ZTH!?@6Y >J'I6,FG: <:--L@HT5(V
M(T8KR^--33S_6!^#[,0(;E%C$ADY450#1T'7/5Y,_ 5W2KE</D5C\)*=NB5,
M.#&03O%$S3S>LVMC=NQY8OT*EG@5ZXZJ>,)W<@T?LK$JJNII26\/2)J]^#ZW
MA]X-WG>?S;/NUA\YA_"$NT6AM.*XV6B3D.%7S'*8\6KYBM-@@V_HFIU=D'X,
M<GQ/__1,=J=7C(=3@>V$ [72V-'K1P*N$P\59/ST(F;0<DQ4#(K*41$;=H$2
M^F?$1O:S2^A8.Z422*F$E*?,QLH,0O0IR%# 2F6$-  9DI/0\8P]D_KDY6H>
MV_-MOT=<9-%F]^N'E,3LF"&ZB>_P>_[\AJ-7_"V)\VWKB_>6Z,,$F\DT6:WT
M;1('OD,PB:@V\@]*K^2IXW1X?M&;^FOS;L="K&#9\0")44P90FN2A73MSM*)
MT#J)HN)M.+&8D'_]$5V]A]%AA3.!"D2D% =Q?* MJ/.39,4N1.&X^KW\(\N/
M3\OJ9+PZ?DF_3K9G^4W5N> ^R?@33R)3_Q/]-A'/(-U3<8)P^X/;+1-0'YTQ
M4R>2HOOXY +3 M4\H9HIMBM3L47G-L080X(S)%ASOUL#2K'7![:WPZY:%$I*
ML70]0SGOG?D7^HS4RW#G0?:78Z'!X_(EXQ<%#2(+92>8LUH_F741\WF/>03(
M+7S;BH>O!?+_C<T+Y6#HMW*X_\][%#R!"MH0(!:7Q50HP$Z-O"^JQ\;#MFC.
M!RU&Q;U6",X#:_R$.#(4U1PLY(@FD2,:XCVB@:$["A+_!AZ+V*3R_);84&!-
MZ@,ASXE^!@-.0>>#X,RI-([AA4="='SXH&)+4=3)_WT>6$('-CDSZ$7LH^&)
MK*-QB,(H?21,:<CC!548!S/!%2O*HB[_WV>!+-=4Y;945]#Z8+@B:V@4K#!"
M'PA5&N+X !7&P#PPQ8JJJ*__CWE "GFU%JL4M#X:I$@:&@<IE-!'@A19'"^0
M0AF8":384!7U]?\)'%*6:ZH[>ZAR2N[# (M23P.QI4'K0\"+6B*7"!,P#N8#
M,G85]KS%*>8:\($V5^_L4O:!9%LF);MJ]9(OWXGN@*BE.6RTZ))31@-=6[C>
MWLGQ4.-L$F9>R_-.?F/$3T^!O=GK,QWO,MD%Y#1IR[C3_&SW7.8N"ZY[S,N.
M%7S;M>8%8D.@W\0@7JRZ49CO&V:%,S0:4K>$;;\MTC6N=YTW@VNI;<S.OJ!B
M(Q9JLT9E0]C&J)=-NR  ;HHMO'J^?:=)[&^69)-O,%Q'"2\2]" N$P0;Y7.#
M/?O#M,?!FJ@2[_MT!IY8/TB4P86UB[<S6.+ZNB!_<M6%%<]>'^)55M@_*P)/
M_XE%W7:>9>^IT+I339T5<SRY%54.B>HQW:>1.]7(M=I>1E^!&CUEEW)?)%F>
MW8CKX*N.Y.^N/C"!LY?$\IS>V@'N]&[&]E"#KCR:DT<E?=^YWHZ$QN]['&>G
MH#4BM&GP?1'L21Y$Y$_^B ]%A_SX0#G.ES%_)XY7'5(AVA B,'UUG$ZJ2*<W
M!>#ASG!YQE\6K":ND#M\6(_.HYY]P<("[1D3XH4R7/*!5B0+HR2CC=F,%Z-@
M]?LA$Q-B+EX:.Z%/"M]U&R6Y5_ )CDICHH=*I7Q8KM%J8/?QDD?=R,;VN</4
MP 11?68HL$!L)&%GL#2S(&FJX A.1&2I=%N%V40MH1/G^Y:\8K&">V)%;(-T
MQ4#H/<=TW<W :74(\U^#E%5Y/5+Y4TP%N,3B?Q^3*+I.TC?:2:,^>]1A.[AE
M+<J08(DT7!"Q+>!0IRSY8)E7)2<B:BAX004SJ.2&[<P(/M"GDJ,?T&^,*51P
MY6<=!T6ERXN+Q^]7E^C7Y>/C\N[Y;^CB_NGYR0?,G0B]#,/T$$1U!3^-(@VZ
MP08F4[EEQ.GJ Q=*C#D?:M"G"("*(:8N!BF*NES%JS:OGUSZJ\F+W LY*6BE
MN5=)O^ -B6.]L!XQZR'%^)WPU?\I=/?25CN=.:*:@6:Z8:Z%R-QPST24P4D3
M1@%2#8^J0(EM?$D\EKV(XQK6_I18J6F?)J\D(\F00OA3P4R1@-M/676G60+(
MB<P&:%'TF!TTG/)M/R JA[#JR_\A!([QAKW9/L";;<E=R=O<;_>2Q=BYQ"N$
MIZLZ3#;Q!8^1PN,S_2V+^&G)UX#$MTFF<W:[(\!&A@FTV<BVM$<>+N9,(:1]
M@"I'1=*PRD#%3W5_0#HLAD#X/=Q2"ACA]1J'0\Z*-.?WWTA,=H?=DI4:W:>$
M<W^_YA=^GH-W*O>:Y,_)5QSC-(@><8;35_S(SJPHY+8G+5JC#!.U)M!>=?QO
MARSPG #+0@[UL)-G7G>"JS*UC14%3];%?;T\>&?K!<H72@M&6 + "Q:5>KD0
MXD^,TD9PCE+!>I%.^?!X@;XNEP]NTP. Z+I@ S7XJ/5+64&"%Z;#@AM4L(-*
M?KSF7@)39--*F=45]ED;K+&!^@B@RZ>KJ*;RE(24N3M<5$2F,]]%$F=)1%A1
M;#89?X]#Z0]/AY>,K$B0DK-GYNQ3ASD%3:1%.6BV1!INP&Q;P/'Y:C4GB+)2
ME#GG.W8R-WSWK\D/DAGR$CE#4::DPAA7Q<H+A*1X2?+C/V<H/%7GH:G.3&()
MQ0FE\QJ0B+\TP+[&BK!!7OAKWIY>'0:M;WMK%#JMAABOLFN*>E0HJIB<T*\@
M[D&0G+WCGF4'=E:DFK)[]88)] .U4*TGS+L"7S,,$&1$E0H4!MD6D7@=)6_B
M'0^&'T0,A$@Q$H]?3Y\D(=7]'/2V)>&6DHI9'%:NXT7N<8"R/0[)FC  JB:
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
MG66FS+%NVYWIWED;,X5"D:DMA10C*;.FNA[:&!0D<8LBU2051__ZQ<%3(GB
M .A4]$MW90B 'W1\[G X "MT[":X6#L"S/G=01M"SUW='?AB2U(81:FJ9SIH
MS@O&DZ#H#'/KKN1Z9C+&V67/M["#]!>M8L\9HGU@>7%5 ?D[;5ZX3ZZG5S;,
M:+HDKLK]*:%)2X41HXH8V?X#+LUJ>;J,N#['1I@#WLP@^X#@>\>EJ[).NLK&
MN 48OM!(>R".![@5*+X41Q$8;_FP_X1C/=IN#<@Q8<"0K$HU):"<&*,R6"Y?
M%(=!E%L0DW]EBV'RC[]EAVZ][7^=+=?9T5N QC9+S899,7S9ZVTR_6&BM;0F
M*%*W[@QO<2PO@NR$R(ZNTRQ11@\E! M'1*0?6-,Z)^:"M]EDQQC^W+C22-OY
M,8?[WELW,<S,D[G>M^*$3K4?W8SG\^4OX\5DBAZ6*W2__'ZW>?@^1^/)9/E]
ML>GE8;FU?<#;LXN7N[$7.<S%.R]XC6T2!M):JNF;[9ZW>/M IM:$7;_'5+;<
MY6XI8X%'F;_51@0F\.C5:3ZEK98"/.C2+*?L_$W8H>NN/$,HXP@E+/%U5XXI
MVBG=ULV6%*I#A19SOZ-.[][+!QB_.:(Z=KT48:." 6WG(4(C.;AX84)H:><O
M (S?Z.B YO_".N)[_V@YEQFQ%MV&.!.OY:Z?3EF?H<V)$LX5&_8(41KH-TY%
MX6/CZ\BW?U^>6(*2A.XK3,NFZ/5&[(?OGA.%C_CXC(,+A;3N#-.*Y7209N@;
M]P2>FF\OAX*<O./M_.#(P[D3#B)BV*S*VV<)=IXO]4_QI>%D^1ND7,4_GBE?
M9K/JYA2UOI)_M?ZNI<ZS[@UX@\9!)&2B%CX^'&_>./81Y08U# \35W7I46%0
M#CC9J$U"U>%VZ_5Y7RE*D!K]G*J4X5V(<$&=_(Q$0:7)KF%Z&B/=,AP@2%:6
MV:H:^Z;A45RFJV3@FP5&106NBE!QU&<I,!Q-JD3#$6+W>/9RS\FU,OF;;AXK
M\+M4X)(^ RSX-I)#P8:\+OHI7!4B,0Y<0.LDC?1E'65YIN0Z:H\7S);B5=IQ
MXGMD]1@Y]#&O;)!^+N#H58-9":&=4XGG1U*G"SN#T )'O*AM[H?A./=0Z,9_
MLNC1^O(B7(GNL,&FK1[R -.T+UQ0:2V![#0@A)):ST]S]O[?^.)Q6DYOU$O-
M9R_JB.N#+Q_IG5B>M74L#ZU]>@:,\/,E*P;MZ2AD@%ENV"6!WM'W&#I>J"<Y
MGX"W3]8[;3P. OI4 7MD6*!M)0/#1A=UNKLX8=EQ5+B(I%"V#F7J"0N(\\"C
MFO *LU+GGKW0P5I^I@-M4<P<RG/7UVG.OI5ZGZS$F*;X-94LX>>=Z<8 7\'!
MR>XWTAB/;4.V[+W'SU$66';Y#I6CW@#<U6NM-=:)AQPXT#40K!>4R_BB_Z*<
M];VXZUN=%^L\ <"!6/IE59XK[%H1Q?L@>M\0L \M?@[M[KWP2Z-2XW9CP<:Q
M3AHJ+QQN,1!<S.HFCHHRX'ATQ(9'><HC>JBR^+/A8T&3@X-WTS>"*10(EKN=
M8^.@M#2JOC7,^=%0RN103T53>#;>E&%I!Q%\H0[VU4/_=597G#<_^^^$G__K
MO%H+_/I(C#]P+'>#[8/GN_[^?>)_F4=;<7U>R_XPS5):$VF57IO.P OUI$11
M='[^R$:]*-6+&4*4(T180@E/*&.*!)1?1HCP9;96SZBN6ND!_<:I*JSC_>8'
MYY E%==?K"_W>&*='!(M_[ (#\1-BC&B:4? X-!*]A05&O4"#@?M9%"+ ^+R
M7<95G.%>?QE_(4M(%'.&$M;,0H$9/3616]V,7]'E;>ASL7#X]'*/']\<VY\Y
M+1% =B# B-!)-RE"2(T"'#&ZR60*01(N4<PF>OI!)Q/C%,UF0%"E+UW:1 3Z
M6-R%<G"==M1ASP-9FMM.:/MK:[;"'GZEPT\]'.S?J>ABK&G:$3"VM)(]Q9)&
MO8!C1SL93&%%RA5:C]$,I8PASAF;#49AP8R:),3N,.%_)<0.N$,JHNT @ %
M2A<I$+3J#1P0Y&0Q!0P)=Q!S$V8UUTX3?>Q:S1T/+W>3 &^=Z,&RV4MH%5=?
M5#2'"1Q-Y<QO+XG:PLNN-^98.KM&GY8)XC/PO5WQ4"8>YZSRBH<&W89GM&5R
MUQEOOL^PC+B4<VECIF<@:9D%(X$2&@1[N96KO^1A<B D0TQ+)W!@$]B_L[S?
M*^YUJ&D/TUH;2YJ&8E6-@4=>C5C7?D=#S 7*V$",#[.QE%9=B$3LP_\(RC(J
MXJ3J'C#G<0MI\PZGHCE<7].$:?E9+"BFZ3&"$LA;&3[5]1FD%8L#I\H.@[-D
M12%3A2TK#Y;&88BC1\NS>''\&@<OCEVQ?5;3'J9Y-I8T#9:J&@,/EAJQKCA8
M"JC%QJ&21>FC8\H "CD'9L,DK5H8"T14-RV7C[4S\;H)X,DGD">=;Q>_ Y]B
M(FX5Y7K%RY E^A?K>/H/]-C/I%(M=R;.6GH"=8[2QJ]6L-T0 E67#U^T@3G3
M*B4JW)>3;P WRBIG4QJTZ6B(#M?CDB [F$@OFL$DL&,KH-SIQ+OWZ\.+E/-,
M&=[VB:B@]JY=3:1@F[Y._18.PVB@ W<B:I56=CY/_WYVR/*(3^L."R,%R_SK
M*T)7Z^^ED5O3/K!G62.)B\O\B@YP[;X9VUWN?U6XZQ'?M<'*Y.A-&Q4;'L*F
M,,VNB7S9-D=Y.^ KBCJN-:[72RYI,;NAH4GTLLMG!"=1E A8_0JC.2F5;Z3.
MO!>"@W[Y\<_*AI#AI$JVRSW38BOH4%+)LTX@B3</$\K];(PJEOM2J#XA1*N
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
MX] I1Y^K'V%B3;D,21(H^P6>CQ+P)VLV="B6$^>($. ]+:<Q&]S,%@(_S'Z
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
M#XJ0WA6G9)%]6>=9 (TP%V%P !GE;_;UDSB"_4;:1#["R1N=R H+HYN]^6Q
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
MJ23<6+/1GU? A7/-D"SI2=L5BWWXI3-:C#; ]I@F 5Q:NPJ)V[76&QNL@.G
M'>BCY6 -Y,I-_(!*"EAIYA(X?;/W[RV::B0+?]JXNH)+'NW\7U)))9JS>C:L
M=\E#/]*LBL(6B3SE&^6IX0DZ<\-RMC88V4O-A']Y<S#:68QM:,[A1C,Z<Q?N
MH N!&.IB#5<A\'2[7FOV?K2(]&AN;=&.RER.$5KS["+S-5V%T!T#T0WO,YXM
M&YTT=.@.+,?)+"B]N2J$ZYL[-(HL.SMPL1:J$&%L6W^ N=M!2A3</E/;J$@,
MM)]#:QG:TWKG%+2R;?"D-P1N=JD8358R@>"NCJUW8$_W#IK3G>S"D9NJ9@RA
MP^\2OAG YT]VF8@M52'2LP;M[YJQ!2] PS]CTF24B=Q4%4)]UVRH(=TB+0,;
M.*YG"<@^\=&;JVHB=UQOD]0W.XL%-"#:-.69U(FM52': '@-9A(DJ%M%MQ\M
MV[;>T?8E*PC1!BJ9K%>6[<Z O1Y:"/NQML=LSSI;D]NJ9#\WG]M;H/_0;!LM
MB_NNY63>-I";JD*H"1JN-IRCPQ):,W)MA8@M52$2.@'NT.X%KX8>:3+*DVRF
MFND9FZEFVD>.*3G20A4B]#3;Q)/1&.VX5NCPG5&.9#/5C!<#6Q;&&MH>!V9D
M!^V09V@<.]I<W%@KV'(UXVF]AOZ:COJ#A@4^6@,SQYF=V6(E*Q98XMYDOBUB
M-E2%0"_:'Y;=W3HN&OIV5IA.&ZED\D#%K3T C\ $"^CB$VE6<<A-5;-!0O.7
M=RN-KR0 &M]Y*$=IK K!AI:)1S-J"E58A@><K(!16ZO&A/GF@']OT>#N[;(?
M:A.M5+*1U76(.:(9D7GJ&9IHR8&:<3":8]<$?8O.J5DWN<*?4=4T78*)NEI3
M-4\/9_CD5:0*P@^H9*O/)71:HQ7;[7/)1FBG<AM^+H&(+:EFS\\K86K#JMCV
M\TTVC 85L?/G''O4]E2Q^>>2C]6@2O;_7$*F-:K074#NA8+19F7W KF$BK50
M[1U!+CF2S:AB6,^W\6(T6+$1-^=82K2C@D$WETRTQA2S=.:2D:-=-:R>^;9=
MU.;4L;'E$Y#9I$+VMEQ2IK2IIK_D$W U:!3G-GEH7U7K3-36\&1MW]S%UIB
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
M,( [/-VYFKF$;P9(F__9E1I!@@PB2K(>9^:"L,'P.*EELADFJM<:>"G"%F!
M+MF) )UE-!PB; #0LC>!RY4[6KPZ/O-I?@2L.K7F1'8)B[ =5WCP/W&BZ"Q0
MOSJ&8;WC#=.S97>1/- =6$ZZ_2A+4\T@D2S!91F=%3E]1DSM?.0Y+=L<=G!)
M)LL&K=B= _.R(:X(G'WOJGX0,T21EE.NLGN% =3>H %="/".R<M)LK(,))7C
M'Z=27LCP5E>-")G?2^42N-!;A=(7@(@J^)Y3T2NH1H]<*#-)PR-X[9]<35?H
MK#4#]OK1LFWK'6W J<]HDR45Y@(/>$GT>64L])WE7>F[@^!%QUC;XVTS3CF7
MXN_*J-$X3HC**FGE*/KR,63ZT')!*!OQ I)4L#$@"XHHZ6*Y0E?F.)F](Y'0
M4(_6B*OHMKXLR"JKI#MJ98Z)7<OTU/4#NJONUG&M-;!#I>[9-.&IVCB^9!:Z
M]D^@CB[?226F.L(GJS2.&<+"%O!NJDIC=LR:SSF%L"LUCB(9Q"W@*OQ(DNM*
MK-+<TP>E=/-H(2!GU=?A!=BEN.U1<87@C'</]0:>4T19]]_5F;$M<WDX;.&K
M?TLS:38G8EF%D9=B@>2662D;-<7.\,T&P'RT3!V+@O;+Z*SC8C^?)_#F4N\B
M!6HVE QY-5" H4*!ZXO]LV6_FG.D!@V:,^TC#'2=?JLMT$)#&25+$[4/XI)P
M/8\H6, ?/UZKX:3)(GT!-@[U3K3I[C1I]>*ZNT<(5)-(H"#F9)._4&M(Y0==
M/A\L8H6FLT5,\$+M(:5/,1&YTT_!#2="FJ2R+!^5G8*[UGH-_5<O_N8>SY'
MG-/!9]1H.!E$):_]$X&DQM#&R]CJ2.S@:43'=6WXMG4]CP0+3Y/X*LHR4"^6
M?1/U'#AI+EYR/Q('XJ%I%"Q!6?6/A8/'J65ZJF)&ZCXIIAIU2L":/,>E*J7V
MWH8=78=^G\<:1*?)KK:!: 6."$_S0DFM^,FB[&JJ?2Z8"<!6+*#W--O$3IN=
M^7R[WGIY<)[  LXA/=1.6L5/7F574Q/<Y4(Y?6<P:XVZO@*F W? -X9YK\F
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
MS)=%"J"8BL"I/81;JCI'*SJ0>Y#B\)HLJ!S"N>9BME@,TU:%KR\-O OH?6R
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
M1MG:>*K\7OH>EX1R\+*!TG]&#=4FD#15)V<)4>&42JU;"!E>31OX&=_"N5"
M%\G*S:0(IYP%;%TJ9(OW7F9@F<L9L-=]<P<<UULS6>^)",7CFKJO_& LS@@A
MR>2>G"J$'Z>3=/?',?"\&\+X.* 0(;UB_2F14<9"\^Z6SI#.#NW=\$3Y;-E3
M+;Z/?'-Y]QN"K=2?.S($5BHSKYR5!F>1LL$*F(YWAL/&B>.(^M4R='1R"U??
MD7E44\>&#G9C0S^:RS$Z!5HZ.LV-%C/M@[52%?"Y^E.S5,TT-GA65[/M/=*!
MKWO!(_4-]Y$Z_$QKA[]S=F?ITE<[[&O87V]0ESR05YJ]!-2<!\3"=9H@B"L7
MOU15^U=20F+$<MZ?2G*"97J%NN*94;+:6^;#,]S0<I%B3'U@H9F=,H*)9>-J
M>4!J420"&>< YA>J]N&FNQ8ZJ-LN#O")M]7'N!_4>V!*^;IC+B98<?%.BMZ)
M?==LB$]5X6.EGNF*WVE<7B1#EW[O3/J=QT&OU1_.>I/>=-9"^Z_^K-^;JK_G
M(BIE/[;A6K/WC\ $"SB'Z)]/%L"797AW[R7Z1(6^6ZYW5^97Y-^S%?O)<B>1
M8Y)+&KM8#L><M56;8,K@3'2"RJ,F#K>R*RFD<6PW0ACTTY$LZ <\R:*)">KX
MGCGL-<%?F%54-1KD@>4(LK#$*B-*].UE%U8%56$<TB%D"*B('R_O3,9T$!1K
M1'6\&: E9V8)HBO-A$&*,V!*+56PECMCYQ&^T MP.=.^R!%2<U:TTR+ZDVKP
M9P&,<%RD25; PLQCI$LURL4[VZ[<")</!D[Y"AUHI8>!]ZZ=F#F$(R6:A3>O
M@ 78XXZ WU1RE\*\.VDHS.D(Y_8-B20'KQ#AZ<JR76QJ?K1LVWJ'YI(&-Z%D
M,['G%522;P?-Y[QT*H27#MCZG'+9@HLT$_Q4"25Y0RB#NN\T>8RQSO0:/19K
M)OI<4@8,N&\* ]+!;SSNG) _%+KF%WWQ%O&([IN=Q0()K+FB]VZ7R7NW_O![
M;SK#SDY3].]6Y_FY/^AW9G6X=HNKQ-0[^@X'YG-FUE$_1VM-I#3E;DU">U5=
MG/F>TB_ 75EZI&-\]V:LRK$!=8V&X'V[DAE#&M;D.S%A%11I<4VY,TGK=?*W
M  RU-:#<E.5I3A5V2  T?A,C72D5\H765^H]&[N"*I@7 E.<!1D446B*0+2!
M6&KF\MFVT#X)V%T'#L%[SP3V<G^4^7EKZ@-R2.5LC:@$> 9$3JR^<L17U/'V
M1;.1;)J[#1X03'_6Z$2@%FX6X&)B5NU]2P%VNOUK96V?H8DV/1"=0H"&'X%T
MK9\'KOXS'6*.:LT".ZO 53OBTN[H-!PR_$A<!M24HLV"5T1(299^B9E")Z!K
MP[5CF8$ SL"8TP&EEXZ+VV[?M*L)02X'4T$Y)=GM)<(ZT':V-L5V&ZZ!RBC>
M+&!%!678YK.^F:4@U@V,;5[G^N;"UG"HHKF+7QJBG5_?9 Q+WKK-PC*7U)),
M[K(7UV<;;Q*<N345&+VIE9J%>S9Q&09WR2/9W^_]SVIK.2M@+K\C9<1LY=Y!
MSF"<AH4::!:V^44/<&XK-K"GFK'< FA;)Y1EL(!9HV&PB\L:6CLNBA_0_]QZ
M9/2YZ?5P!N8K_P!'QR^]5K,PS"AOB&->LY7$S?,_-?@FL/PRBC<,84%!0VA)
MABO)0]1SLR!)Z-!Q2ZO3+/ R21LBJ-AC\)3+I0F.64ZY63S\315TI5\3LB4L
M,E([#RS$X7CRUUC';RZ0D->5#3RV-@F:9XA0X7WK"S3A>KNF:C_V=^7TS^A6
M'(%T,:K$0/M@8Q#]>XTQ2!5#D6P1J3/N(.61('\#JJ I=;&1I(:JK[DDA4M-
M2$TA#:5T[1C"!C7)$A&Y2XJ]7S%#1N\FXNP*;L; GF-X$W'(A.N?*8MX-2')
MD:*"$$<43VOO4!?YFZCG=2*;*MWS^FO+^U@+'K_VZ8W]Z8U]LDNXN40C[>&L
MO;%#%7QZ8R>.S16R0P*@\6..=*4TU!N[0LP+@2G.@@R**-0;NR2?S(I!S:!U
MXCVSN,"*^EB7[CQ4>P+DDEJ. :M<U[W:(R8J:(6)3*MS[JH]RMG$5<^ONE!_
MG]JCG$%6]7RL"W(3J3VXHH)*BG\B<_!6Y\%Y<]6^>:B%GPES9YU'=$5=LPMY
M*5-[N 7EE!3V1.8L7H9S9^UASBBO)&=LB7#_:ME;QQ, KTI/H*MMH*L98= ?
M[\\=4Y_@W&:.Y9<$SGCW!%X^X-SJ0V*UL#B=,&5\MUF4JTQC+,_RJI[S51]D
MH?9\DB.^+'?ULMZ7T,_3I&TZ3@R%S2P._[&FE \WBXG5J8SED=^P&"&U9XF8
MF+(\]24N6I(#1=0>4!$A0SBKL&C&KI =,/]Y:>U^T0'T;Y#1/XZ7Q^B'WP=@
MJ1D]+T@FP7^ 4$(55*6Z!/#**<D%K01<?4&(+@"G?U8%45X0XK"E2B+ITE?B
MU%K^?>\U(OQE9:"F0B3E=C>044&X'>A)TK681BE"L5J#R"F.*E-JK=Z@5$<%
MJ<NN)#4T] U*X2\,:L B-O!))N731 '^8=GC^%-6D^$63Z6CQ:.EV<&\ZCP!
M!RY-G"[P<3];@<X<:<$.<@?N26N-<".-)8Y$=2@:Z),D'"\GS@]V)1>8%&1?
M3>@ZOP)#[SCT%XP<-<X#;0'99:7V(JX'DF*G<*]X:#>NDS@AU$"S*9)?%9+\
MW!1)I$K6QP1H!OP+Z-_027!@.<[(?(+.QG*PF +;4WHS<<W>(,VJDI^WT%VJ
MH$(D.=X5.CD]@;D-- =I;@@8>6$)Q1K+ 2&!"W"FRXZQA/>\<VL-,+6?D6[%
M B]PU6TL:?)K05;&LM,M;-%/Y_';+O]_>A\;8#I [)'\53(]V:#7F?;P?W&C
M+>"WJOYC>*^[M)?MM$(E)PX$:";SP4*GY[D-/9*QWJ@S:L19?-N^:5<[ELGZ
MCR4-%!2FPIN*D@+S*0&;&"A'6-/%JB6 XB'\J@,Q'0("7 P1Z@98CIAS"H#&
MZ%8<MG0QE ,N]ZJ8=C.84DL5L/-/LWD$KO/=L2=IUW)<GBU=M%P]H&<#1X*?
M1\R"0\O=E4T"/X2%K[P)7*[<T>+5 9Y!H+.V;!?^Y2%)H09G;?4(PP-UDB)Y
MQ"WT9O>V2MH<$IW[!UD.JIS4:"(]>$0LX+JV0DJ,-L!&*)G+@_HH3$@6C&OG
MKGWS<%M+ G!*5L!E;G8GC_PN:"LT\\V O4[#/5FP*;AS2E;H96[IXST-[L:A
MS 5N[GM7R]4,%<#%6^KX?(8)/EIT+9-]6$BKJ!X=Y)P>,LE=Z!;@LLP;DNEV
MLS$ OOYYU R\#9JN '#[YL*RU]XG1*]-$K&%PVN3XY=:;_ZG6@[^5@L>/];(
MVY3?)=V)^]>]/F,I':"64V_TGFKHY**;6XA"#VBRTE3%YI>3(VCO8VYL\=O
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
M13)5-_IJ6JK;>4W@_'<8O;[Z+K[)>[^*>H0;Z #/099% ?P>HT[T8;MW?6Y
M&.%0U!%2>\DI04E/S6/X4=L1H)JLG\A'$2ZZ]X=KCUS?/.=@?;9ZGZYV*"SB
M[R%TH!60%ZW\#^B<L"1!H+M_4G%@=3OQ(SS0KSU\^G_PAJ]/F:YP/H#LW\HJ
MU1:CAB_IK*I-P5+W)AYA^)XE;T\W'XN#2]G03*_1.1U5M5G!E2F2IVM[=)"$
M*W=9<A[:3=6H@:4-NV9[<W?[RUQKOY.R9FJBZG*/Q[A&#LLU?S@L,WV]#I)(
M@$??=:T@'78)$R"NNF8*A(?HXBRENL&ZEVZ</<#^[P_  RL8X:W5Q2O"],$*
MH<W3+]"?T 4QR#);]TJLKB0>H8N'QEJBV#WC_&1!,US5&J3! ]@O_B8YQSY=
M%;<.18]CWS*.8V?OZOFK7O0*>IOLC3TK>^7EC+:TLWL'/CWGOV/+A:LMFAAG
M=]8>OJGL>+=P_7SS^*0M/P/GT6\Y]JD\F"F@R&+#Q;G2LEO[ENC-)>?'Q2J;
M0J\<WHK3Q1HHM$($C_Z;!4^SL(A4-44 $@@399\"@+'<EZ1/+#W#7>$)[5("
MA3P>'8BAH/&@/F^G^$PX7U[I&:9(0?:H( \,W2O'VEU+-F4?>_1V-O==]RG-
M947H8BH\J8WZHNNAV.?(@D6WVZH]]Y+=75UK/T@IBW7J]JP0&)+T\PX"Z#N+
MR JBVIDH"6XO.F+#5RM8X]NGAWZ8W&^2WF&>E$@NMBC-6"KOP=U7FF*L]*=Y
MJ:2[[*#33SL)=DX#4L555OJ8BZ:$D-$=&=*ZH?!CQ]14&PU)L2;I8#CRBD>U
M;QIR]!^=NTPW,X0\^OVKCZ<>_=%@/AE/OBQZL]&\M_@ZF(_,]]B?@D!PUY.+
M-=OZ%_8K<&(73%<#+X(.WGZ"&[  =APD <>H!W1C1-<3:D7XPHPXU<ET=6I
MF6-?S4M,&:!83!]W#@T@8(A[L*9]#]OR!U V%12^T12I-2BCHG:;QM=H(4^L
M-T#=WV!5RYM\@TR^T2JIIMGEU1<#,3DB(2R^%I%O_S5-'KF;$T8!Q(=)DQ^^
M>9"PP2%6N1U*8/!PLJJJ9[S^Q(*ZAS_2CHGLQYNFO38.;'0P6[\94Q,=:H2P
ME&?G8/^(_O11[^1,J9RDJY>"8>MW=R8@2D.S\,TW@XT%7=PK8 ?QVYOO)4,1
M/MF!OJ\L?KGB4\Y<CC+0,NHFJOJ.U2+X:58]+T'@%'#J5<P5'G7F>I0&6;?.
M]>2;:90>9$M;ZBRAL#Q\7[3ZF8NO%DP*SIYJ%-SO *Y?D:D#M"JSUF 2X]7?
M=)7 &D[C*(PL#Y^QI(W$0L\X<^G5QTK2$=7\*ESO4<8@V?.SW-UD),$BWRRS
M0UG F5E;7'@0!'CG%_^1M!BO_^ \_K?]N^NK<]*J(@"[E=N5"Z2A[Z'V%B:L
M/(+OT8&\.MHE/_4B7.GH*<C^:MZPOYOW%$8CL8&?])0S5Z4,M&3E:BV]';SY
MO-BGNU64269IV3-7%#\FDE*I&C-I+,0R49?%A-(7]7"C(BLI*DM JF/@YL#%
MUZ6@57ZT?;#<+*QPB::LH64G^Z)"87'(LD)8W'ST/%B.'GNSP7SY1^]A\#R8
M#$>+WF#RV%O.!Y/%8+@<3R<+\V/ECL$Z1H@0,\<NKBMVCO1E#]O<+UPA<@+/
MRK>DS_V;_B<M_0LOC^41<74--B1>B,\,2AP;_P-,X5T^ET6=U$3%0'%0P\>*
M!4TCNR8A=(8I)AO()/64>[&@R4Q2@*<S1C'-S#@"QMGV(0Z+ ,$[M@W'OI5T
MV*1BIO&KHEL6LEW2?K[;%/=S\!X']BN:!P_6 4@<?*>VEG;>0G7S2-VAQ=.]
MMG/FW$SF!5#/5DG=0A55$.)]A[M5W0*OZL;>*K#0O#6V([3<>HH]9^S9Y'!?
MWKHFT5Z/OX,6Z@.@40O51H=7"%:CG\!.?"C3U0K:("@5!Z-T%^50Q62-0P2A
M,WB._:WEK7^!/ZP)^/&"1L< 6NX2V*^>[_KK[=#_\!PYY Y!I'X752 '!$E1
M5Q)U\=4/XC#IY!8?K ^/8&B]P\AR?[.096C>1!8$5\7.*J&Z]9+BH"1*8(Y]
MYJ&?F@/"V>81O/R$MC^&@I*H]*#.2D0>&I)"ER1*Y@FMMFP8VO["&L^!!WY@
M"T8>"-9;;!Q9(EP5.RN)ZM9+"OZ1*($_D"FOH,:,0N@!G95$?10D1=A(E,:+
MA4/9K"C^FEXT@K1-E@&Q<&<I%[-8]S7#I#N:T/HX@@<+*'T^H6AG^16Q5U*
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
M&'W!I^E[X\G3=/XR6(ZGD]Y_[!__G^8?H=^!,P=X@H$$Q4@D3R[>\ T52!>
ME?P]7\BT5LQ"/G>%!-L2$[-K[S_[(0Y1%Q6&.YM#2A9V:AWC.&3S0B&3VT)3
M#M'7Z&"HN=-S98SEF)NN$LJ9!BH][S<,8;*IO/L,RH'YLH+&$<($\V3&PV^5
M4A;FP(X#;-S( \%ZRR2#5C[_]=?]F_O/[>)$V#@%GC9-@R%K1ZM8T#BV:PU[
M=+,,V8?,5LCI] R;F77[!-;(%8QECTY$D4%!$Q7,2 D]:WI5;/(E8V^ EK0N
M1"9BKZD% _S/PU<K*+\6FK-JZSFL;:RD_I=TQV'C>1B3.])/+2<U[O+"K1=%
M!?/:L)LP"_Q_ 3M*K.+J!*@56L]R11.5A)"8X/T3=?H5LFB6.OTZXN@SQL%G
MOP+LH)ZN3K_HB,F';-U ]0**/\F4)B_D(I1DIL98S*&/FS%TDD]->C9"L'AY
MP;PY-_H[:DF,'+@6M+TQE[ PK\2T<*2BIG KR "+.HIQAERN.GT'>"_+6V=+
MO5)_%:.TV>Q12"AVLR(6*O4FCESX!M-\GSBQ\APGJ;*3Z+;$*,IA*YZ*'6"L
MIK&&^*$4;Z%U<92L#H,IG-?;,C. 4V'DA;;,FNA>96Z9&4 ($TSQ+;,F6%"W
M9=9"3H2-:_^6&7E$8&ZB<50U3A'JAL*J:"AP]W9D'\\ N50EM?K.'MNQT,(;
MN2@XS@)_!2,<;RL8%TE]1A[36^TI#B0*J3X.2D]473>MK3G.]Q*#Y&29[R56
M_PZCUV$<1OX;",;>[KXTO"^#_N,LK9\$A55X4HMTQBF.HN!DP:+D3A2-G=K0
M#Z/IZHOO.]COL0#!!MH@1'-ZTCWRY KG("-!ZY5V4HUKY4N  $NA(XCCJ,0Y
MJ(%EKE%!$/)<_*BS1'TFQHOEWC^4/ <Y\)K=R,W9&N(EX I]/?JW+\!?!];[
M*[2?L1"Q3UTTEN*:)Y8"%]F]LK?>O[/G9B^]!%LH"[;83:="/)\:_4QNE'.S
MN10>&?&]OL]P YPTD(@O[J+*0_,-['/_]N.-EGZE6@B&-(LU1F/LG?B'9F^Y
MA( ,8EE3:%1(47Z/7PP)G?2FPC[^3&)4!K&L*?2*(W_"FI"!2K<\!DA_Z/WD
M/8Y< :,($ +Q9'.#;97"RYUMG!THV*;-9?>70VO9_<.?WQ:G=.Q_R'_PG;:K
M#CBA/,*>;H)VS!_F!,P?YJW'G&""@B $,<R' P+FPT'K,2>80%S0-X;Y,PGS
MY_9C7FZ"@M5R4VS-2+W2K/V]$L$$!9E^FF+KY7\(;+W\3^O9(IA S-LC8X8Z
MC5Y!D"14#" (F?-52O'VPE_%,$FWP36;LW\0PG)N\S^:PF2==0B'1?KG9A/2
M/&%B$@4,&$OF".6?KWW]\<N,@/<OLU;C3?A\[?H>D_0];K>^"9^O?=TQ^Y4T
MD_TU_\'W6B^<$,:;\/D:;^.N0])7$DE?VTU2^>>W>*FQ_)W U/+W5C-%^'P%
MZ4&;8NHKJ>/[VNZ.C_#Y1JT]Q)@:C A,#4:M9HKP^<3[HAOKPTBCS;+=HPWA
M\XG7,S>%]V^D*>]ODU;C3?A\\EW("GQ3).<%M6S^L_O:\EV*H2YLD?;[ABOY
MHT9QX+^3+RP\_MDD'NOXI)@V:5]%CD@[XZ.%220P@2QV8@0#M/NE!M](DZ)O
M+4><8(!VS]0C:1KZ.&HYX@0#M/<J$]*>^.2YY8@3#"!ZIYI"_'])D1__.V@Y
MX@0#B*ZFIA#_\D! _,M#[H-OKMJ&.,$ 22ZC&A>3UME]^U_2[MO_MIPM@@%$
MMU%C8\"4- 9,6XXXP0"B^\=\1]UX2=J[6[:<*X(!1-=1"[@BS6;'H[9S56X
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
MQ+-!N5*F*$(&@T4]\!BK*G%OV166__7/E!*8WM/X__X_4$L#!!0    ( -5
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
MA>L%FZBP S3)VM]R]V6/#H4!(*@%#,FKXM1RN59K&3^'I=FK'<OENLZ6>EL
M?"8,-HL-&[?T0+YS#-B:T-7'9AUO:VLNZ 6BG$[M6+$$8W#I"C(N7$'&8HFS
MM4*M73$ARZF:%L%[6%_[*AE3\W)_A#&* V,:U(Z5U(=$_(V,,:14*1>1US+^
M?;C\X8$92$>L /_?_VQ6F?[QMPM(J?3^VJXZ_;-9F_GOW[Z1&H;-:M+V;_IV
M&6ZSM CM%P]_K7QUDZ?__>*>VU]]-_2VOVU7Y?[9(;0=QZ,IQ,3JXP3T^/-&
MO$SL ,_7C<56X)N'BJ1O<)OE2]+]U0G47R^,U>,DO D04M\LQ=)UMDL/S\W7
M9KK<1%BNE0Y):Z9OE+YGL+M59(=<1)24"=_N+F9EN[# :)!.R+L!@&T^8_^;
MH6Y^GQG ^VLK/'!TY91LM@_7"UY^>7\['VB;EW_X54T?MEI8AF+L7NTOU; W
M;H3KI*!XP3\'TOG[WXUX_CDJGO_\/GJ_,Q[S:)%/R?7O?_>7G1+LFR_Q^\78
M?Q\3]&([BS_**9"\@$I?:;ND <$8!%<?[_/XV2-BZAN7[C_9_[Y_R.\#KF:*
MNKBJ;CW*U+>4#+7ID-+"""1K=Z^.O&R4'-*$:(@)S K<$8K06+MS]QSNGI3L
MG;Q?0EY%">UPFWS>1C!'DFJ[^[8+HK#V&C.*EF8%U'9)L@"BNQ$^C\CG2OE.
MZN.DGJO5<$YC @/7:^MQ?S:JDE5E<)ODRS74)Q(7Y&;#'? 6FS6N7NI?/V'>
M 9*Z=4[2*#$('RQ^TXE2/\7U-CM4N""].] ,9;,^MA'OLTC@&(5V>^JV,G]A
M%3?9ZL.'[\'9Q]JI.FY$'8'-I>G+P[L[T*$G=&69$'FAVAD1P; "&":3]N^8
MH'=,_$-)_[FA?%,E7F/T>6O\'-P7JO<.NI=41B3]=YXR(BA40+Y>&5^N1I[.
M9^TEM0UWF<7F1I?(934L:\"B*V=.<Z);!S6Y6!1GF;/HCQ/X<U$]S>MORNKS
M7'XEY*>GGB_EB]$:/9_6Z*5H_;$T[3?1>H4A V/(E2,33<C*;#X4%'R1N7#O
M3NOCM$;.IS5R*5J_=)T^%L\]2U7N&!DLA6'!-"4 8XG%EHNMU:SM9M;0GAE0
MO1KFCYS _Y025=AU6;<8M7E)HH-ENRM@ZB1SKFQF*9'ER>]/*9$D34:5I(;+
MHP6M@)>JB]68N%N)+$\<KU;3/L8!%@22X0"5ECPG#0GW,75?QIA^I5&2S66$
M*X8EF[KGX3DGPO&Q?B4;'DYX!4>F@?TGWP[PP]KI#M;QH(USGEH.84GHZ4:/
MII"RE'?]?C["&P?SY/IH*XRM:7-:Z_-MGFGRVMQ"RDC>Y_/O6KC,(-BG5Q3E
M>%' >&44F*$/2RVQQ\$]*^^J_&U+?5F$^^PU.-+4IH(3Z9I)ME&M5J-M-NKE
M'OIK+(Y] PT^&J>]X9"5YU-+,&T:AA-O8-IR Y'A(._&_5L=,C0C !\X9+0O
MM:P^R;IFF\7=MEU?19Z9V41A=ARRK(!YTB$+30X+R0D(8'N #HS2H*>%E;S;
MZ2LX9%D!^[1#EB L,1B4)X!?RFQB1Y5A" 9YM]#7<,@R _?9#IG'$B%D:J,
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
MFOR]D_F[TP]?6W$\C=LW-_=<RTIC]SU*.R*R $JZHV)ARJ-5(X@)JK>>9>]
MU ?W#)T:\8_TU+Z *"T,+5"C58<T[:&YTIHSMCJG[T3)LZ_'2H[VE/3J&HYA
MA_:+J2XUH48 .D8$U%0\Z1>,U-+CO@^"U.9VI;GKD9;D'_*(#/T@=:2]71[C
MY?=V3UB,-$>6UXLJ'U+RP*\.B.$X>X3:3(&/<GI(5AT(ZO/3V0<D_$3<LT2<
M,Y_MPJ1,34"8ZC?GSH)8\L"++^Z>P(0 %-:VY_+<D@4.7:U@/?).RC-)>8Z(
M;X&4TNI;+66A;,9AO6L5X#8)1OX 6?@=)I.1[TM2/A?4W5+FA91G64H+;C?;
M$3=>P9QD-\R1%%0#<"?E3[:4GR$=[P/6T/1'FS<WXV(/<2&?3D1KY!MLA$%J
MYB;B3Y'@Q9!_%-P4B(#E+H#Z5"+K 'X\ZG$3#2]@]'(J#.;AG)"@=>:LRZ?@
M?T<$/XH.0T]2@2UYCULDQ-Y<& N3>,9#5.*,X(*JK(S;PO_EF'\4X.<YOAUK
MV:3Z'54RDQA45W$DC09NYK+D=_?T:ZEQEONY-LDYE"!V%;8UCV;6RL2/0697
MEN].XJNUBTMX#:UI@QNN&[+(VX;#=RM@I$K>;<T:U_$:+K<;_/*6HA1QY;!<
M,4584&F4KY:M]B)[/0MS:RDNM^?Z]$&!%W4)7Y9#;#K*17;;TE+!HRH6/^"-
M)DZB_G DCOJ9,S'OG!4X5W:?SXYD>OOK9=-S7(JX&EJ F3VL079!H+OJ0YW;
MIY7)YW\%X)#BVWH7QR[;SW?">MR@ZC42XAFN3XX6()Q@<>;\XPT9/R.,'6G?
MDT;.2()^%TFBMN1"-8R@:;O;)YICB:1 *Y,6*[\DN=C.'_A@0P?\19QYYZS8
M]F/<43]X+G)_^8YW!+7$G#+AIL9I#%-4H5 L=-A;Y=UW2/1B&U+@\S>DP%?;
MD/)-UK(UK@#.&_8HLQX,.VA%*J&DG+EHX7(; /)MAZ^WX/I-] RZ6F$Q\M8*
M79<1>FQX1,%#,[<L=KE5USL]+QEP<.%:=\.I'KK^IIO-*/U2Z(&G.VR"PXZU
MV(?"G%A)H@HTAM%8X7U?G4^B]:U&'Q\2S8^FS^.F^PZ0?,/1#DMLJN$(I>KM
M80_&J)DU9A.4(+/7VO%+27-2(#^5*I*EA<#PW*TGW'"M35F!U ?>QZSS?F'1
M;X_F)K:..Z4B/!&[E5N-'4[+XH<2A 6D9]B^Z^SDX7>L?4)7'RW-/M]LL#0T
MKC1Z20'40_Q63<C;<OBAQ.A+CA083UJRGUB@UCJ-L3L*02>MNL>VO&8U*-^J
M-_*&$'XH);J;PWV:%(2OYA&?KK8LHDG,8)3H2FIK7 :QG,EPZ0M(\:88?B@M
M.JD,4H'4O/11*2ZD;_1 3#O TY(7?OL^HD$9PVFWIZTRS0F^ FI#$:V9MVI#
M/BR>GTHC*?*D%Z[9?M+16P2Y:L.*9"Y9G"9;A3G5&]VJ?3DAB!]*C5:X308\
MA'E;R6QVY1ST<T;LGET9# C2M#&!LGA=#"GR5DW*^_+XJ421#/DM&S)>Q;0R
M=F0>!E8O-DFB194GMVI#3@CBAU+C6]9B"QUH;G4J8\,$7-]?&@.<].U;S:?D
M;2TV1V2M>9M,IJ^XW%O6;#BI%(BXQT]Y:#JD6H:70*/.K5JS=\7Q0VER]M[,
MR0B"8V;F^G =Y@I!NS(>%0>WZAU]>M=EIDA3>;^URU/CL"=_^%JA?6.92 F'
M%7B>"0VA,,/FQ&B:.::=:/S^6I977T7/3@8!KEQNBV8&-B5IQC 9-DA[11OE
M>8-?Z!+E93/-<-^4])J>EVVED(%-225EJ"&LC7$\N8[7QG!6M$4E<[;UOBGI
M&O3\[DU)3%P8QHG7\&FH:-?67!$:\^JM1KI9V)24#_J<WI3D-6"E$_/!FFZK
M-@_!0DN X4S.K[G>E)1YJIS>E!3$:U((RFIL2N.)/82YFJK7;]:T7&-34M8)
M<F)3$H118TIMSF2:&^%^'1E"(Z9^JR;DVS<E99T8;VU*:C!R78YQS#/;R^JR
MEW1YDJS<ZE:U[]V4E'5*O+TI*:98H5!"Y9)I-+S07=;+5;F9R7 IAYN2LDZ+
M4[M)[$;?FCH:0L/0:B8(=(R1CG6KQ/C^W219I\89NTG PO)I-J0"TVZMUYYL
M3JI*_U89<K7=))DGRHG=).Q\10E0-VG!H%$39V)[) 6-6_4XOG\W2=:I\2V[
M24R5$!M!8 U,CH+LI505%<:[U5@GQ[M)LD[6]W>38(&A=Y:H$IH<'J]]BF\4
ME9O='W"MW219I\GYNTG"7L4-!A#/VX,1@Y.^+BSY6[5+5]Y-\L6DJ8H%^#L2
M,KT6*U9+CK0TZUW(IMB15RDW;M6@?'="!JY"!3BKC'@[']-"G+X+#>LQGY3D
M86WA*&/T9K<L?G\^YB*L0"Z?T>\G3:M6]&HLCQFK03P?D-59]5:7>[X]HX]\
M+2]VNQ&1ZH67 M_VT8[%HFE<L$US^6^XMPTGQ@5-KJ(\Q_<[0TCH=Y'.K<Y&
MWR+2R[ 5J7[5#L.7]?T*!_7]G@JGX['DJ<-D<=A.EDWEZAE* %0N<!63=XS
M9SE^QZ8:'EC8>DC),#,7(Q-;.LILGCDV[:N\'HSP>?'7$T/\2G0/*N 5SJ^
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
MS9QV!%RHS7+&3.T\:1(?BSTJU="9VL^<L'.C]&OHDV%&UM1Z[[1JXR>[$M-
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
M:;4TI1!YES=,RC$,"3M7 M:+RG&66>BF9IL=OLI.!JDVW6=:^6^#I"]1CM\
M.M=4CH.:P8M&MFG.U$H1WQCK^1;7(V]^14$YA@&(EW+-;J@<!6+>K/>9G,*D
M%I9<-J:#R2P>><"%23F&.8GQFLJQ4RR(S"";[C"QD9*B:WH%-)+?!DE?HAR_
M 72NJ1P52BG4THO'[BP6 YOFJ,I5U_7(FU]14(YA .*Y2'G+T"5;M)J&M_GQ
M +F<8%G V'"6;@@3X#VW$U6OKIOP[&,13)(XWNOU>Y5VU9RR\] !S3D,Y0P!
M/$B]1(&+0 GTT?MBS4T@>+3.,\D^VC&-S,9G)-LHIP9RTJ!:H5RZ"P4$_]C%
MI9<AZ%1#:.DK8,!GG@ D?F[#S,7=5O'=1NA&&<Q'B4YG5NUGY49-ZRW45M3$
M7:"AWJ$13#JM\PN]1HT6&L.M4R!9C-D=,WRK0+>0/E$$PL5$<SAFV(JU0>5/
M+&@THHU;<S2N,Z5 & 7RC"&+1: !%U?[IW?YQ:/AK$;(/#&+K0RN8=4S)@CO
M\94!QG[P[EX=_#7Q\JE[#=X" 2<<PFN24\'$M S;*2*R,UA6>D<HZ?T44V2V
M@L)SZ6R/_1ZS_]*X(S;QY(UX/]'J535;[^*SHDS7E:[.#-)":!=M(\'[M\\>
MOAKO;]LU:5HM%X29O!Y-0&IM]=1LZ,R!J/#^S7*%3]>Q7C8 :4@C07;/?ZS#
MA_9AMATDBK:  E  -$>*/'&^!&WJAF#9AJ^9.K19#%E0(*%[NC%3!8V;RG.O
M*;HD%.5)KA5CU$6#&%?Z4J=LA4YLO&)'7B+4^SW8'?A>H[#7@9=(_*W7P]X&
MZ)P\%D1()G>.(+'RNCU20%$13/,(X$1E(93LY&PXHS,+/AEO"]V4$;G82L#1
M?D^ )%U,X%F$D,,?KT1#H)R5!$-Z+O*2FVQL.XK;["S6;%6UM"Z5^/ 5XG@M
M G)I>+>" )Z-X4G?O+X @=-';^'L/BNOZI1+/*D!BJ>\*2\])1O2@!1K3.\)
MYSNCI59MJ.&U:9X7.WUI=-'U6MXVB7:^JK:?'A6%H6>Y45VP:P5+"1W?AFL2
M;W\RV1LG46ASC?&CD!W/4N/"-+%D,M0Z'M[(0B@F\7;GBPF]'C7J,=G8K)K0
M<HEJ3MQPMS^!.ARCQS^[L/=*ZK!UVIQT^&I=3':KZ=RPQX1."?V1A;T_]<PD
M-Z.H  UZ!6U[]0=F&KIF %&W#7._@:*P7"2;*8F>-0>KIT9VLJBULJ%SJO>5
MLY\-[1!\>3:VL-LM09;<:-V&+QAS: MOCJ7"0-#@%&B3BKP2&F"U<^L[0)QJ
MNJ)/-BXCG4@7%BCP0:F%VO/5]C9S&_^=(\SX;WBM==,6G9"2^3Y3C4DY4*LN
M&ADJ=*!!DN8<_3PQ\"8"?EP0!:?\ =+/2?^MEAJ#1&C"R0#ER7Q$\3'%G)%Q
MIDZMGRK#DG)G@"@S0!A"E*?IL>%E@,6\R]7E95G U>EJJ%=QJ3Y50FEKWAD@
M0FFY;V. FJUOA*_!?U^+:?GM<+%BN%JIV\_U&XGX,&KX?PO][O#_@JST9^7!
M=U6*.'>4YH$76""Z!W\RT+6>;+P'/+06@&K%.\5L :?QJ3(;T2-:3(7.7'E6
M&OS<:#WHOC3</\I&OA9$FJ5J:[L=$!->YI(+:=145_E.:(/?H85(&*W(:T&D
ME$A7VB)17^-JOQ+K]8&ZB8?WD-S00B04APNXAI5FZHHL(0W+H-[+X/B\B:X
M[8&1 LK(@ "FY3RT:1FR*AB;'-# &-(%_NKA Y?C<DQ1)'[66V4W3YW.=)BL
MAPX?KDUT?N3^O;YO&7K8(XW/5DAO,?UCK3ON33K5QYDM]>*]BE;)B>O0K;Q%
M:/JOG]J7&F;W9N;^=U3ALP8F@N(.\MPZU<&+HM)*R4PLP);?$$G+)C9/V:?P
M'1Z+"GJ>#.G9*M/KGLT5S,54#,\&,Q>/'KV=1_&FR<ZIE2V;!;T!$RLO8I8@
M;S.*$#J.#LUDAVBKC@*D"9"0"62?'"&%,I2]VY1)ZPKRKPU!Z<G65+<M5IY,
M=^9>/642 XIBX[-J@4I/BG(W5AF&CM4/Z[PG0S[)R@XTYK#K\:#Q@JO,OSU+
MZ"FEJC[AI+Y=;ZMXHPP>[_,?->G@@2/QLLUWSONK*>)NN]:+8=B<(H@S5A>?
MG?-MCTRPL%%[2_CCS'GA1_>]MRNM=,X>5.M/?/.I8*K]9G8+JB&-K%XR(\\Y
MEWMJOC^2^DHX]V0>/AZQO3"!_C/*S\S@C81H K'03?-FRIJHJP!5<K*A8#".
MS*,\O&-:LDAICH@Y>LH#;H/1]>1\_,CC<@TO2GBY'U^-0BLOSP_60]+KHPV[
MIGPVR9<-7T$3)%EP=^24M;$AN!NW; ,4;$V"=/+FE^TO."8NY![Y'C#TK<Q5
MZL-NE*SA@ .-V-225YA:D!EG%F22Q'&R"4@UQ90DD[I/[1?N0<2'7@XM,G#Q
M?49ML*GV:G94J][T,H^=S;8W*]7YJJBR;;RFVV0N=(')@--[,KB;F:QXC, #
MFJS.HS=8R2!2?O\&_O6^Z=^NN@8G\.*4MZ=E4ND50.\)1)6[/VGZB51@CP4^
M^E7+X2^>EMW0-=2X ?T]69OL(KD>)F:)V# O-:TMGJK/QF1+*ZA#-;3&VHL#
M/LJ OCCB;^7:[H&2\*F)Q#".NW_DS$K&+#2,+=_L36MIO98QI^TP[#HY$;!X
M(K" A8_&\5ME$PQ/<@GH*2J(5M8H443>)L02 [T!%7[R3*T';^MH31Z?;OF_
M;M&0;2;1E])<7^#IZ7SUE"PI8F86NKC ?J-" !+Z_.A3&G[<=P]OU9+WYTL<
M/7H%)DBY5D;670YSI ?A;ONNR9970H$6S-,2>)V5SIL4'*%DJW,XLUY(9BG(
M2.SF;:B\H=\LC,'$%@P)3H0(@ 3O!"T86NK;M<TC.3&9HLYVTA4P2@OA*XV%
M@E'/R>2OG_=!.GTL3O85946)K+.,%\AH<AZ]JD@/#YJ/:H_FYF(WGTY4NSS)
M6+56<K5I]J4[FL-?H?1KT9QVT9Q&:$Y[#F#ZZ]',34=+0(/4(]/;2)Q>*Y9X
M-GQ':MS1_!S-Z1B>#HAFY]&K^BGDT%N$@V@FAV3VL")W"<T=.+ ILML4L'1^
ME52HPDP+-;@$+%C*8-4<.W/9U':6=XP6NEI/U=JS#5NL3JIZRDQ8H0MTO8C.
M]XS[9M8I],_(@-:I\RAYS0R>A"\(LO-MXR]BAD$KV2]1#'+]+H]K1A6'3W5^
MSI"VV,XE:&O5EJ,EQX*/]I:QCZ N?/SJ+CSIPP>4*9G7\?$NF6+.-I6UE&U7
M<;F=(7OF=B"3X2O5&AV9$@\N4YQ'R<SM ZM!5]"@A: Y#0G*(4OP)<05=-L(
MB#-Y,U[UA_%&BNE5E1:U:@Y-H14ZB11X#>X<J3YF-5V$=W B?\\@\ OE,ZZ
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
M7;H':O/<[!XP"H-S%(9<S<" O$; :+D@[$J]D.G@Q=B$S3%4+TVWHNJF?YN
M471A^%X?O3(;Q"I66[88.5.H@DEL-JQDHJK*OX^/'ET@?MA'K[2?6*ZSM,9\
MK#V?)FQCJO8348T:?4,?/;K0?+>/GE#TA%(IC8:\.HEWB#AIMQZW$3(<OZN/
M'ETHWMY';UN97E.?/.$X:.)\6YNTM*(450/S3_310U$I:8>WG* (F@BX*0!6
M31<=#CC:9-FTIL"@7?>T)@LC6?%7HI%&BVQ57\VK>&^&\[0%!-4*WX%DNTF_
M--C#IL871WM-1-RB,M%K:6F?7Z@HELID1[8RVO"I5"'!RO%TO:N&3E;]J86*
M0I]J]OF C4]+EM1O$T6^6HO'1UDN.2/'H3,([X -::C[\P%;[(LD3>=[&D]F
MX]6DD)OE8X/0.=5WP(;-[J-6@B$]JZC! A.5=( SQ%FZ..,UV3)9CO>PEGKJ
MXW6+3%1X0;92L]3:;IIL:(V]HQ$>++P7AQAV"^]9[<F/3">[E&.I0=I4>2&>
MK\1+>&);6H;.. OA=%ZMJN/)=!(?FLZ5P Z7HM;K\J1M/HZE$;/NE4-GNH1P
M.HG/\K]>B?'L;N?A3=.21=H-17C3NQFVI9[.TW.^F6L_U@=,OU[A0J?H7PNO
M[.Z?'>.W]FW..>,O'6-Y8'I+-IQ2WZ@J$S='9HUQ-E)3T T@3S3TV,Z;*6;:
M(E7*J<RF/Z5KI5[)VEJA4]CO/F\R,!I?I>$!F,^(^*>#4EA?&929Z5-%E9.<
MQ0BU#;&EUT\U)1D)4/I)<0?EIX'R&J 3GK)<:VPK53Y&&SU#>NJ6U^';O7V'
MQAL#A-> ADCEIOU^>3-DFNE&3\IU<ZNN%5HW*)30"&,H[AK0H B3Z4\G<Y)9
M) OLAAGE:JE!Z%15J*'QI2OY69_4R+I%F+U5!0[.$*H:W!RCHJ46=$"@FR*5
MM27T2M! GU\%H"&HOB+++0%E_Y1T!9W-QCT(NZSEK#:C-V3.3O#5WCBSQML=
M&K=#YZ<A>^8C-/#6\B\0X9:")AM8T,!'KUH ^99HJJ.BTQ/!L@^T]/!$%A;;
M1:MK3_#B=F:U!U9_V-9")X.NA*>+9/B>B'IAV?/CD"KIAFVZFZTA8^8!+<QE
M2U"Z@B&CE0_G-J5)SMX#4W>?!&9KF0?UM2SJ9?GL:[O'/73BU+#0$=O:<K81
MP02G>LRJT/FNTNXS*/H];;2LST;;B4[B2CAG 6W(JJEKGLPP:\INU\;<;G2F
M]99:Q%.B97/S-H>GPU=(YDKHO$R'6QIW084G<2OA>6X)/B+"<RA*\@2'IB1N
M9XJ5=*RGU27^+CQ#*#R_U(O)^,[[VAV.E+T2SCE!F=A -G2'W@>KJP#M,%$V
M19T33NY4!'ET>@W.6TU8&H)Y<GWG$Y7KW5R3BF_[?''Y6!OFK)%"IK^K#?LI
M)+T5TM$Q8$$/3<I>Z]"DBTDJS!H=@F++YA0-ICG.@Y%U%++AIKIA=8"AHCL>
MV#I<UL(K]9DQJR[8] !?URVS'SJP[4]1N3!$WSDOS\<8L325-TQH3=<F)_.9
MM3+TD(GUMTRL9'6FZB.H$T^A,^*"S^?S(49L.LF/\6=SNMIDQ4FV@@M+)E.*
MK[-<)7Q'ZH61/V^5=_2&"3W#GU,F7DMIZTV<D2O%A;K!MQ5A=.?/KS@<&+K9
M*32AN.MG[_[P3Y[EC>Q9<AFM0W/&L&1H5/LFMSA/=MC2L-)FP$C3^=S:+@KK
MT$[NN0$>)O;L"&_F,N#(X25205R&DT=O%U@DB<XRO2[W1WQL*I5E?M4>V[>O
MVQ>I2-6%J((XS:UKV379YND5IZ38>";]5 T=Y<*P;?;\IC,;;9>?P^YLCOW/
MDSWU8^CP6(:-SI8!!5N3#@58"+5<*3[A,8F7L[.LWJY7*XWPK=*[&P^>#_9\
M!8&+H_W6.1SG]\Q\&" B*#&51'<YGBW*&9.JE?2&&;YL]K #) 3+]03N6R6
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
MEK((S.=L=5AO0\$659!1.K.@B6#_SAUH=Z"]"K16ZXS(GNLK:#W,;4.<"B;
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
M#@I@$E =*8B*MQZV ^[K=<-9G0'+N6TZU3;=-#IT>R184#IL,%2$!4D'Z!A
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
MR#V)V_OHOL<^TY,_A)C=>VM;_8VY+OR8CZQ5$I>%[J1@Z['1I6:[?]5;C2I
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
MB;"#J-@O\,/W/+-P,%#/ R=K%.A1H/<(].G2LGG2)G)=SC?+E5$2* J6;Q&
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
M:.L0-3-R(K=UYZ0XT&R.L_PUG>%R!87(J#9N1LE74(WFC"B/[S)!-UQ)61B
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
MBA/#E!]VX$F\VIQ[,,D-C6?9ZM*NZ8^>+VR0($R&WO5ZCYF^LC:Z8)$1C7-
M.O:D#FJ*:4S. #+DF4HO T%K+DN.(254:&>;<H[[1O2EGUTJ=''%2C(XM6IL
M;W^/=3/[%+RTJB3S>GZ_4+A\;TF^R[3:IC67(=ARAM%#CD$;<@$T.=]2R;"^
M'XCU'=5S8MJ'-:3IT"7>AC1OC_11C( J5OG%Z^)H\A&M/6=\AT734':11MN*
M/PAT=]-ZMKHO*YDZSY<K9<F)N3^Q&Z.ZBH=ML._?P7G5/S":[-:W>4H40L9[
M9B"9WK7<MR$2^!;<O)PUY5J;2UJQ>R)(Y$$:^#46Q,?W"+:S5UBO&T'.3B/@
M5$^[%WJ>W'#>:OF2+0U*R*UW]?@9E5G0C&30,(GWS-<!3?56E2&)40-?@=4?
MV<ODK=+",\9Z I''$O;K4#W,.Z"^;\*I:-_0.L&KE5X][(VWC O)!04.7]L4
MLRW,+:<&4M8(BW9U%(A9M"FD&C> P(GA4B%.\,]BAVS\E09QP5=CXETIG981
MIC$-;/QV[+$;/*[ U(?B$B%J%./T@GVY*/.L$01RZ$)L:S.N(0)@?!5#R%F,
MK8_/A-ZH^!Z-S-&88#UI(1?EVK4P9LR.&,S+_-/P6KA98%YMP?XN\E)5/BON
M9Y;EV9AE&;,LAY9EN;W+P*4<V:UO!$F_BEUJ=Y$4,"CA "!P["E_!IDHB.YC
MB4T7@F(>MHI+NETUN+&F9'21>O[ 7T282&Z5J"&5\DN9(/ENNV5MNLP$H^:7
M3:X80:ADY>1-<C1JTI6T-3EB84K)O.->S30>J:5*7.^!)T7;?/)7]P!F)I7L
M@-B.(;+H[[+B<RD!3F^'\(4KJS5IN(7;3 L/]5ZRCTK(3]JO\99< E"YVDC(
MRV@J[T0^=33Y@62FP=76JP% $:F:/]*P6\,6>GF>5<TT6-;<N5N)L9.FP@Z^
MS(\FV[\KK;S2H,5%*V5(=;'.VRN)I5SU":!S!O;/<)99G;--/\WK3[T=2%VQ
MK8WH(@8[HC]!DQ2OM]0T  !*_A@857GQZ#O%'/V#4^);%2PO@_T^$G%.:L6)
M@+IPW%T1KKT752%&K98<QHIMO5 26U_PJL(&RN)PQV>IE[6-[E@Q3WGC&*;I
M^;IY.6-Y)?JF,%X:P%K""ES!-G7MMX3K#XV<#6FFL8[X[D6.#0JGT-./:@)6
M\TSV'=K;12[>D_?EN=:C7(NW&C]1AU!7U>0:W1@V@)PC>C3Y>QUSH>I*]KYI
MGB7ZT9*JG1<]YX^!G]V6"SC RKW'(13OQ; P4L-SJQ2;;2U9)72Q*0%T#)R_
M>W>"(7'N3?2L-I"4_!IBG_1/CMO-8QE.YBZ!9K'@>N;6DL4&N,X"/S672;3^
M%@E$)4AG69ZO\S8S75CYS$!!O$%5Q4K$W.TCOO:E&\NZNLHF>]G4[ C<ND"S
M"]%(H:*',S/%&3=7BOMJ8EVE"+85IU0%1B.1./HT>32FL3_QY1/\(OHJC4,X
MO','!/-1VJJ9@6CX8&(#I'0J1%IT&AZSFMXEP^>GJ"_*MJE#,IF\+DY&P$,)
MOI@Z,8.'7#TP7Z7;<&U\O&";6P/?3(XEX\C.F:L:$+S9Y"0J>U'\B;& .&)@
MS*&_VVA<2""Q;-*UBC,-B1")>=.JE.M4L_*3;QFET+0&DG/]<,06Y<'-(P$&
MJ'!/V],6XJYQAIMVNHAXQ$&EFKE%#G%#JV3L5H@YW)\H[5]<UPI)3%V4# &U
M)C]T(W%^KV9=W0L4J$EFO*?=[+Q8)ENT[]P(C9^WRR34WNM?% V(T"_XX**<
M*2.""^QC$O4#P$K44E4)$EWMSUZ)?/@\(EIXZ?E:S4*,W.K:]?+8NK ZI/X2
MAMIN,^W*^94 @G,]OR'J'?>3>16&:&TO^-9$P)R_OSH/K:']%S3O6E_I5<16
MO5[$<_\PLZ')<X32YZ9H4.TX:4:.%TD1N'OU/&_GG#^5H*X(UZMPX_._OBM9
M::.ESA\8A7+\\-M7B^\Z_/CHVV^RR9O3=_Q_'_DETP#7$B_6K\!'P Q\%Y>2
M\4O\(^@=:"QK%6_:C@=F@4#39TD7HRPV1EH79X(F4D/.]^+IN;)>U.GG)6E9
MN1@[%TX.O#R#@B5W9&.'5P1'V@34?;]=GN1BF.O>_..4=PA-V/;0W4CL[ C@
MX<N,Y9PT ROKN0(V9'CS1+G,F1RT.2LDQXG::[%;-'O,US@<E V4MQM%JF^N
MH1@-45<@W=%RP'!J!3?1.JU1VD*S!P8NNV/D63;R/#?X4%6%3FKS+$!1 _L2
M?W!:(()21;8:A&[K8<)IMV]GZ4'LFF4 4EB'%-L@[ QY&*UT<]%F'@%K(\SJ
M8@VI5N>KEU$@S::+HJ/'#$69>LYD#<J4Y]VM%^((%LTWDBG#1]"+.=/0::!G
MKAD<6#PM.<V3@E.OT:$Y&U ]PS/>Z@>3-%V$O#AP+B(E\B?]EW2.H2N5ODCC
M^$-\&IM>+#P OR@_P"G=LG0#O&D%Y/47YJ/ESI$?5GDI%L([6I%Z_DUB=)K/
M<O/;U4?9L.,WH[5"O(C%?UZ2C#/\3D/]+D1TD^#0O8SE/Q]C^6,L_Q['\C5&
MER@P;S990Z40O@]]GNR0(W03=+DTJ,U$WTD<NYDQHL7'::-*BAC7TX^OZ%_O
MZ/\58F0C>!<,MP]FN 6+[/V[#V:0!5LT0S*S,G M68. 5S!74F!;Z5MIT:Y<
MH.?07-'KIR$,_3Y<'R<S7#8 1]LX3M^?1,.0\9"P4$D)5_DEW[4GF[,-=V)_
M)J!JN6[P3EP_=BW08V#82%H9=DU"N\$0@_I,;A^,G"WS.;<V6C/8!-SEP9(S
M79[UVC2I1ZG3D:'PBY6^J?/CDK:9VQ<)DC?^=89AEIY=@1%$UC#0HWVDS7@E
M49>P<A]?]7<PHZ?PSMM#$@LUPG4;B>N&3#J]ZEV8UM"KWFV_2J[J'B"(G'>>
MP[RW;BQ)<=TL>H1N9[E4/'X0LJ#)DZ?_)TY><SZ*YR==,B]V1!O\;QQ]D+?N
MYZ&48\O@@)>7%!. T.P#'R\9JX]7P%KF0(T!!(!^)H?'(NVYKTK( '0*F7C;
M[..'CX\SCP2&\0N$![V %$ZM*0[ZX$..7=NQLM1&11_J1!^2&LF7!3<H(WF]
M [P'YT9R&^(/_(,,>L:'&U8;FH5^/H6&X7=S98I-!7F*>BX'^_%Q/!60,<3O
M !LEQ=KFS$ M,=8Z +K*A:]]Y_6":68VK8Z:X]#<V^W*S%N)(^OAOO:I'2U5
MQZWDW*&7N\E234LAG-(4C?58DYC!^CPR90<75#"I#E^L:"@ =N&W_.>F+E"C
MD0U(WI9\?Y!0.$+HI^\_L.1TC+HCMY4C\TH)2Q,2>C[_ZC:V[G;YM^C..QF-
MP0FQ.9$8&M"GP^I;=A>S3 9 KE*^+"(I1F; *Q:A,'[_C<L"[2R!12$'+!'Z
M'VA(M&Q/ !2Z*.D^%R&CDYRH1Q:RSI6XF< VJ)FJ(O*>W#P.,]XL$&96=38Y
M-X=."\+51]!(=,$5%[F&!.R5BB6%<.I.))!['C.'M1WG)%:JXI*]>1QQJ(U4
M/S%@JB]9*(M/@38B"<EY .,A87EQYUC/3^_?!6\NQJG^0&>:6YPZ;\W<-_7F
M]CMOYIX)=#Z@Y54IQNH<T5[A9@[N'+9.@UN98A8C#U)T+CNM:XHBS3'GLQ;!
M_ WGO2NI*4KZI+D46II=F_R3[JPN1B(2:2>#CNTAH1AMYX("[U@3L9[6O%6/
M0$QB1&)4]-G!(I&8BVSMZH8A9[[G=TM06H8:#4[%M'\'S0(UH!R[R*BH84>'
M< ;HXH]T:" (QP^SH"9S27":Y>26WC=LOO80.[ =.$_IO5JCR6OYYO2=[K<&
M>HJ$T"<),]*2GY BJX+YR:5;] S]?E&#9\U3V?:L/1]+Y+MPRFGU2J@<K(XQ
MD+?0/51NEFE.DJ^]P,,85L2*>X3K5^L.M/#KO!"-GVN,5J&%,I+BLQ2:".HP
M7N(Z3F/R BI +T7H%3:';'PH,JDXI:GX[;G<$K@2+?@K0TZFDN+K;:S\$?G=
M 2FMGSAB6J$C:L!FUN2D2IH]!?/8M-ATU,AB(+K=FQC HNX()W[TH3<V[>8H
M%3/ J,5I5;\--\%#5!H[#?9@#<FE$/H(,KXN%9>BF#!V>U333H:0,[+1KJMO
M%DJ,%P.IIH0;/>:7,)KSO%WN:'M_?W)[ITL+9P@T>%W.-\O ]:R0 Q86_M5\
MPW8#JWNL;Y<OZ+)A_+>1._:WUP-8XFXX%2K8JF!_]$HRMHJQ@/WZ2NE8K4(2
MM)9/RQY6YO G5^V<:8;H2BBR'=PL<=W4*?@5]S71,GU;L&<#'FFQF4MYA.)M
MV"M @;OAWWRPR!A<\@NY5'AKU-DP60(_\U5>Y_,\&C>O4.,O698YW1>(V)28
MFD OQ =,C1;^\B^;>0FY@I%3<,35>3^LR-8-K4!1F/=XRDF_%T>3-T$B3VNP
M!?->H43^^-L3 1\U53G/@X,FL7Q^YUOHJWT/^+XX4WON)!WRNSC*(_-;/VZM
MT/K<M;N7I9)8EO9TC]DBA-AHB]_64@^WM0I6J$ .NDMJ]83SBNV7[*M(J60H
M;ZYW-I&I8T@#_9IXD)T*Z!ZF3EZ,J9,Q=7)HJ9.OBH'2<M $NYY4A4)7"'RY
M-B5AT1=EGHBEX]M=U.]#K>;'(0C?';L6(:JZJ#8%PO-35K.SM@GK&DBP0HG(
M[H7_0W%T=K2%YV<'@N&PP;N,/$RA(N&;S,_'47R$)@&A7-.UJ(WI"\PKCA%-
M-V>-7KWD"B'J<I:GALH-V"!X=N2:UX9)""VYC),HA@0E=1,380/@%@OQ%#&*
MYY"QC#:]FC@"XJ1)CKGQ32NU?<Q$HS7H1L#@*C]B97988A1F:'DH7ZLPZ5>M
M%!)L%*J?S\[)KU4DL[%DJ3WAZ!M19F1 =6$) YE3#?ZINN.2D!KXZ=+W?^D-
M<K<D98*,.>OA'4/P)5H:<,"3.MO@X<X+31H"R-0'3]RBON8DP?CZKZ]S.ML+
M)NZW0N)KP.R9T/@TE3#SI%PV*4!+XM_7E/;&^.4-@+NPRIA:)PII:(24E,"$
MV(+X&Z5%)&%=XPB*/3<$)S;![E<>WTT[@<'D4I)0=&Y82]=D4N-0]<5'%(JB
MM'K&W9V49:RV_B(%>TGV4Y$V:,D26W7WQ6,N9M_4_=5K [YVA[=!DKNZQP+@
M6.]XWEPA,"T<PV[6YY+S3[-O6+PTE(E)_!MGE!>63AJL2?K%ZW>ODE@F+J[8
MGT9$F8.EBFA+RH;$B7+UWFTZ&<]>9F-#3+\6I'9(3+#';)C+'OE0KP8N:'MM
MM2-JF E](LE/IA&Q"ZG+%X<I6$&%.DIU<J5H\C!I'WB(]LX>T;E33[:+IJ)E
M^E1S:IV_L:GE9W0'&VJ6Q'LHDJ?,5X4U31(BN.)SSC>4)U'VU8J2"$C[:"B;
M$QKRU85DUB4[!&V6"J0)+ET%$N+%]&C-BB*B4&*ZQV)4)$",M@RA"#6>A**)
M<QP(\4I93BR#"L1S"8'4@IO!D1_RK<T1N7QK%$*#X346?6;H=P>=B C/;("1
M+ OU84TH,:M9*^8HT_N@+>-0\!D[X>VHH9+S=0;C9@6(TA;D9VRJ-K+;BVO=
M,?>6]%-BT<4Q,RE&X"]<(@XP#=P(A#4I<.-#QN7Q':Z)L=W,*'A[!$^L%4F.
MZD4!$=QP6==6A[N$_5\DTO DTH)LE+91VFXF;:+BUDUB8UC.*D0YN&AIE*E1
MIO;(E%!P(#[F726+@P XON&('_='$69BF'^LMZ2R<M5TPBA"^JP\TS]O5F=M
M/B]B?B@@5^P-4E 7S%FMXA.=R8&K41F.@GLCF\\"2$*HJOY-J",<"@J(Q,T+
M9%&ZR1^LC,][BO6#B 7_9A3%413WB&)^T91S"[H'):@Y*ZG*8.A=@;K8&5<"
M19I^!($,5QK0FYDET\DP7 M\7TJA.7[%5B;GN+63PGD^9> J1SQ**8"^FDQ+
ME')?%FLV1UVGADN0](?WC((]"O8>P:Z+LV9=*OADF[TR1&3Y;_E4L35@7*@9
M7N]*%D9!&P7MAH*6!&8XQM_$5A,<E:\0>.UAF)W:U1SAA7 QM,.((<7+\N-=
MT#)+V]>'8*.+@%KS#PF5CF(]BO6-G"OCPP;585X/\]J-;5Q'@;JFX;"T@4-^
M.HE?!^Y_S2$%4-14JHCV*;$O;.UZWR"6+T>(Y0BQ/#2(Y>W8*2+4)Z(K7-=P
MX1X=R*ONA*.PFJ@WRZ(%7\56W\PQTSI>0'+"7"<K+EO-=B,O<4>=EPOM]8!H
M\#1OV])X.[DP?PX6JP+1#,3O%)$WVM6C%.Z10@/9,KHQF-A:=;VJKHPS+"9E
M$Z:=P=2K(XIS7=Y0.2TED,!S[OBN,.9]7I7"5PX>?6V-)G7&O0:^$H6N/6$M
M.HR,8C^*_3[ER])=2E=1%N\MPA-02^53R&ND/AFE:I2J/5(U+[O5QBHZ M^T
MI_97(OJ99"C*N83=4LR4]*G^IY7IA31;QW#Y@* UI@='X#-*YRB=>Z1SPS6Y
M10<>#P>5)>%A-C1$;*?=IEWPY5PIYC14H20(+.G2FFEFF)OQMAO^$!1FAF!<
M1"<;]+JS^J7NG"MVSR3E1D>FW:RT:"I""D7U<H70IZ(;D\:C8-_$A@7L6IKK
M2E<$;M'A.FU(2ZA]14GQPQD0V^A5%[FS4)R-PB6I]!KE<I3+?6 &7]S/$:7/
M4M(#FCQ6KLH&-%02U"^B<15!91T*27_9M&7'3<O+7I/SOGWK&.^85X$?+U8(
M&+.@[,$ST(V)DU&JK]&VH"9;YK\4K'-1-)N(GE5871:Y]*]R5@0-=5XLRUD7
MBIG)-N8JEF@%,*-@9VV8?)$.7C29%E?<CDP*P*3@Z,MR+@<1AUX8>V+L16;T
M_EI5ZC1#OQO6]25>*+4M4%"-DNFB6(/B1)N:H8NUHD8K?E.\)IM06DZ'C?OK
M,KU)3I>L6&^7J -<*WRJL?W&%2JW)V[+9N-8!87%"IA5( J-"2T\8)XO:>Q*
M_?+NE?RP=9MG-[_+XZ,CUL'3@7H.5'*OK'6)]JX%"(*CJHMRIA:!<@UYY,0T
MB5,IY"P6OSDN(5_T)E/E@U'0+=&3>#++ <0(Y*5*7..&FW2==A]'O&V5EVT6
MPFUL3O.1TZKQ8)0;'Z@^$67&RLZKS:939 =7E+F9"J<93:GSM7[0$;*VO&E-
M0G3#1861H  ^1.S'&*>O?PA=#P?:1DY9'BZ XD-R=N>8M:Q8.C8&W=)U#=-V
MT[=Q1TK/C'CG'DU^;'Q/KNT&R<'?Q_=["!CAQV57/4=SZ(0<2Q@.1(XZTZ)?
MB]K'U^,F6)W#::/VDXB*,]=QD3^04OZT'#GA\@)QK+3<T!XE?I^M_U+LLUC"
MTC+(<MAG;JA&:QR8 :6GR*U[G],&<T\2#?,(_01?BH+N9T60]KG&?(7 5P]R
M,E6A#1A(-P:>JJYPKVF+124Y1Y4M(]B5YK:RE@90H(NV-9Z,V(6R?_@_AE>$
M2<B[?*&M5=."&"-4I[N3&#7OM%A?<L!A$[,"I IWX,3BV8]%LJA,#A.T<1Z,
M'"<9Y,M0Y*STX"77L;M&DG[B4G$$*11&<L71W58&/\1HRL+3NO\A86.GAZ#-
MDUD7V C])GH%YY?N3H#S84_BE@.?2)45<XOOH)>+2^UH[UG-7S*()LT%)1Q#
MR/E(.;^["4$'RH7\N;=9HJ;?KOS'S,'%6'9&LVH\'6"*UI)H>QK7WJ1]=9C_
M0UNM;NK [6YO4M6Q9$K1]54@\6@U-*7L QS!0C",/QVA0WB;%/;T[;JDCR^?
M?N&F#22@2Y#EHDHHW*BX1,!'$[JMRF"WN&AV]E2]CC_CGD&/CA^.T*,1>G1H
MT*.OR17SG2-V2'3H;=D]2%DTK,XVXA8PHP<:JA8@UE=^:=:%SB,2^I[XMAMT
M+0W<JH?.F'('@A2V_.'(""T5C>X<5P&:[27.NB/#Q;V@+7\$G3 8O6"3JRW,
MN:B=QQ$IM9.!3(OPNKEOI2LV9FLFIYB)^DWNM<$.!YPNO;#T$H/1R.F;B=J"
M0U>[.&OA4A?F-9H4_5;^%(UUQ"IGQ6H=L1AZW1M=5<J5+7WCC72MOHK-.YK8
M_N&6&X;6[,V".YZH06;BCX["W@/?K![0FVO?J)U-G*&N2(X18YLAB5O+]%EG
MP.]Z8=462GDDT=GH96;JG*;4])W;=&=CM\6LH;'_4\6J*V#P>^=:A7/1&'M^
M",=@UO69"$+<9'Z,CTA$:R;Q5<1*B88]/*GH2.#:Y-6%SF"1V%Y8D8*]#NT>
MXDGCSF.R9Q=J0/?)4.HLG@(_T<EP5R[!G%,TFX[K6C=Z F5WPZM[_K-2%)76
M@33(UL$HMM-:]Z-;?Z'.SCR-T&V58SAA2J_.=(R2_%V[#IU6EB1V;PBCP9H%
M=#[FBYNZ7$>_]*S%YBQ211B=&S(#BG;MW@N^Z>??=N[].%5&\\>S87KH'NU7
M5=(T8.KOAO8:*<1G0(1<4X.[L.D9&9[$"8U4R]R$B$:NKM)8<,+3*IH6EP7[
MZZ"D%@>/N\>B*C8T3Q> :,C-:]8T<PSV%K//AEV7P*-^:^+ M?E/BM:3_4=$
M@(,*9W+5\=O\W<'9UL,Y;BPP[PN[D;2+2U1<3/X5>MS=W5H3OD1I'I^0OUX7
M[5;9E*P>;6EM]#B(M(<(>-K A _"B2=CU#WWU/=HOEA(=R:Q'ON!4_03#!3G
M:2<+H)RWNH Y=#-?I=V&1;0L</_TZ"E1LCBT9IGKD#P39C_K#1B#308-4%4C
MLY? H?4(V;$C"UIM"10?C@C^5+@&F>#JFSQZ^GL:&%LU:@:"&[\D.U%:')S6
M"[X@V-C@=7A#EU]&OYP=Q;;C'T[?*.]^-OGXX?6?)B^/7SSY1M(NUI@8?8$*
M!&*2Y^$RK9CD-K2O^=A\NN)FFLWLT^2U$1UW7.\\.7[XZ#GZE4G;.TS@^4,W
M@5<?WGS &">GW -K5K$A^ "M#S(TJWI02.=/QC&U%T7:.-NU%\*XZ('HAH57
MHH'A8WH9.Y;Q->&V6*$G#P<PN950YYH4:DI!GH[8E[8Y^O,5MXX+I;)*)TOF
M1LDKST/H;GJBZK1+%M0AP[&8\$^[Y<!EB_V Y(MB0<?HH>DCC=K&M\:$BWTY
MNA<8J3<SY\6J:JX0LHRW4"81^T@_&Q:$E<"\S2]%\<A%FL=XN]$:TL-+241)
MMNLJ\Q%D/91,UNG4 7[#RP0O 9<0BO6N;(=E"($=MY]#-0)FB2^RJ2"A6=6C
MCJ%9_9",&[@KPW*NUJFS)3F.RK\F;5RN0W\RY2\])Q&SLFDFOF,]-%/8O!8/
M8JDACX$QDF<+(HG59FTZ6_*"W)\1S7RP/_,&ZZ37/TW] =K^J ;6K9#(H)G,
M;_7+B*?7%F(/BQ;IX6-+D7 1]T($- YO=<4.%C3[154*D(7;$(+=5R\CQ;BH
M5QP,0S7F7#]P<4KF9><<24P,2ML&'WJ(\]B_S)NX/YS!/^$J*I*.@'+V)3F"
MU.\6U$TY)?CP/Y"4?N3G3;E[8T0\W)4:T]YV M^].X&OL,BQI,CTH!^*Y6OB
M<0#=J(V'3IR:?*:$)-R=SWG%A.G"<LJP&J:;JP?-9NUZ+?=RPQ6#"+I!DN";
M)%"+U'H;[(6R+[D:*-\/+]SU4^$UN6G"?;C(>#7P_O+V_Y=L=-,ZB5I<CY[,
M0O[UME:O.BUF2"869&R4II ASJ,ZMGCGW 7*GT#;+KGC(9)Y<4C40)5LC^N"
M$&KO@N&LI9P6K^..Q7:S"8,O-WT#8=NJ:2"4L0" Q-FRK7X(=N7-4Y;TT"Q\
M>G6KQ60VCTXMK2V..%"_<],ES@)JTCOAW.^LZ1SYWPU/_Y\2@CLG9007%(0U
MK95A(669P ^E&1^#'F@5:G7:=>8<GK">B5M[E_,N">1&EMZW@C1O/'1(]'IP
MX0B241-!&RU<R[R[%CKG5@%B;(D '4W># *&$^F_"?S76D>XP*:S&GQP@?\]
M+V;:/I@LO;P-ED(?VQ5C>;H2E9 ^&V0B&F"[8G77G7 >T1V/N#IFR^*6Z>IP
MTE/,@"WK5G$@>F&ORC:)8 J2M>[!S&BC.*AQ00>\7KO(@L<=)KGD&(V0_O,(
MV$8-;^:)I4/4$;P2X;.,:U583P]8+KOO2S'TABXA9U;*]1-1:%M\MY#47QHQ
M(N/MXU3(],JZCX88^(!%/+2^-$I;6A]^X1VA/XD?&$)@'2D\3,DZ5I?2 W&%
M/L1B:<\D4^]:C4',^*A,"\U'84J(&&ZXK0RR#-SE]SP7\/-NI0T=>]L+_TON
M]WN8'7\T9L?'[/BA9<=OF;,-U,M)T.[V9E&(MS,<4S&#E8!R.20D72RJAN0+
M38M3*P!Z<;695J'1%4*6#M.EX#4NAFM9(:X#5KG5XLW8OSSSK<WI'<[@+(3J
MO.W?R9+809OO:Z[FH\EW1;=B]1QHA+61HXN124!*H@2(M(00DS.K).9@/2"U
M%WPCT0J$"]+5RLQB:D/LRRP0[VH&&X0;BR.QDR]Q2V7:+>E*T^39) _86!>I
M%I.:=UNVS-"0P>6-%QUW *W5$L7UNJD6O/N"\K2+W7NG#CR-"X_'LF"<.L\;
M=Z+%C^+(,!9D8=4VTD]8EU7MC]+*\Z+]$=#3TMF<[C3)I\OH<"VK&PPK 8$D
M%KE\&N3O*SBN\4*^YOYD[$#H6Y9FP'2?8F3=[59NJ:4VM(:I<'BSE$*"7229
M%,0N1-T'D/-5<59VHJA\0H,_CP2 F$LPZBR"5[:ZK'ZS?09-#UM>ULE'C%%%
M<=X:>M.#F,_)X.3]@Y]:=[EYFEB:BU"DX8(C5Q8U.9QDP@=GQ0\$D-*8=3]>
MTP$V LP)#,W8ADVDWDG&]K/+3CNFL?BA;YZ6G>C6?>)(4K"%$U+JBY(/>+;+
MID-52.C&M[.7V&U$'\L4ZA,>3%W+]K@</*6FYB SMZ1F6% 5 \PD+&(7!R@G
M8S,4D++*N\XR)UO-@+?I3C*."8OW>31YI7:S*J3MA;9P#&=:D@RC +X6C2O+
M,9RX-,RRL+7AF?07:1%#.#GJU-D_<4ZZF,B0^?HA!CTAJ6K3AYR-VZ#4**G)
MB20<8=&N0IJ!&P-*%8W4,>$U,TF3*?!&ETF*+$Q<!6%CXP1J_S/?TAW'<[[(
M9;B5>'W<@A1HH940C\4N3BPX@@9PQW+ TQ\., W83-8+$791SR\S1TSDG,/-
MY.<&Z>1<T"R5O9O$FE-Y@U"H@33XK"B2NP50DBAX$+*5'$+J)PKT!J\DNR2>
MO6*2[(V#XTT5>DB6F?707_KMNJ@RBE[$ ZS)_N\X4=2IUQQNHM#(,T!!!/$=
M0'Y:A%;,!>K'8:"&DTE.#>S0Y3=,!AA^(=,T47^EPY_[!UP[J$H@11(_[N9+
MCKBFA31TT_JM67)S6NW_&1>>]I_45S:9T^[/UA)LH M._T5V$4<::13UY*DD
M=^4-RRG08!>-U!VHK99)V](E8BC 'B!&(@$+-$=55,\O#49";V:=N^O=5@<8
MBZOMP+)A7<[+G)NF?CPO?';#^LOOW"[%/B6I#WU36*+T&3NVL]=D-M=8-]D'
M#]0BTS46A76S5HE?&$FY%SFWMSSQD&P@"_.J(ZMT!I9(:-#+?"$^7U%IC8NA
M[7 /HL+5^U;[6]<&)%S2-56;RKI0LOR>C O&<1Y>YNF#K)'-PO>^(=D"$)W+
MOVEF^:J<5SCGW(>)!!! Z@2*)!)?ZK<ZP1(UFU7EJS7[?6]YF3F++[>!;%7H
M@ZM#T. YFS:P8>,^<Z;CP4K.E^ZWRZ9,R?F0HB+ZZ/'#AR_Y8-/XSG.%Q7)B
M1:[/K2=?)S314I7DRK6B$^+7;;,Y.S=[Z2*O-H54U(O6R1D>S.@;!92%1LG1
M%K AQ"P;3>!W#X^.7[ ^YR87:P6\/,(PZ4^/'_;_=)QIHF4:C5UK%!T>^+C_
MK<=<0$F6*,V E3"Y BAPLIO6DFP6FPK,]593F,1#%#=&7V5;4]<GI!5C*V1-
M8B69Q2XVLY;E\"*,NJZ9IK,4X:8O2X$0"_&1;]RF>J<X)$7=3BMP:VH,V @^
M-$5J4 @.S\3AD*5<-9UT :@*3;Q@]-TY61B'XX>^59L=BT<7U#P;Z%%MBI'\
M<I+NCIFA&M?7-4!P7($=/:9%J3;9O@RX<GR\"1:*KK>F1:DJ+]82Y*I78@*8
M9@&\$GN*UO:9Y*MPX5NT43+/*HJSO)TV1N&6)BOB!H5"0#5WQ.7#Q3Y/0+LB
MG?1\P"B30DT A2,/7#S$3H!A\86S$ ^-FO.2Q#;$4!\,.I"K^U04*W*U1 LO
M&'S.F6^ D#2?&3;/N1Q!AD]FLP;)3S:@=%"+BN&$L7Y3RH2A/<5V30Z.3Q"O
M]RG!'3, M1/KZ/JLX25%'@]&[8Q/Z^!5KWX*3NK:DXVJHQ[,,5ANT^;" 'JV
M5W18)-8Y^.ZM/-WU@Y%?# TIEJKR@>>M2K3/MNX'4NY">SG3YFWXF&Q"'^7H
MO%C1:]\DD<,=7<GHZ$H^G%UJ11?HCO-=JQP/'719KIVAI31*=%LCKIP)B>K7
MRY8Y=%C+=M*5C$W8IA4T(6<Y6$^ZJFR95-1\>A#IE (_IQ@[_T[@T,-&2!$]
MQQ"#R"%O&30P)_[O9YKP>$P3CFG"0TL3?F7P9"^0':CYK^-<E]O$JBCP20G-
MHEA(N-/D9J5%=HD\O;Y$XW3:V)/T^[P)61O!C!CP3%(J77'=B/@B8Y.27X(.
M]EDL\@E?:Y2>([A$@2=>,S<.;922>F81H95++O)VE;):2':G>A=\)ZEVB4CC
ME"1"G>*>C9'XS2$=EX)^]J-"7"#NX/SJ;2%.*@@"@Y^7G!M(839)FW6J'0TP
MMQAWJ.]5XBSVK3S6MC<B$6;CC]DQ)$0/31+<GS+$GEO!B9=+_,AH]#80&W*+
MIZ&']JF3DS\)48><JH1M;G!X$5SL#K/G_LYB 726D-<K&*"+E2T ; _T:9!?
MA=RB>2$Z^_1EVKX!<T]HP?S*R%G_O,+[$Q(^\H?FFV6@#]" [$5>5E(DB,K?
M.1Q0[YXD["1[@E.HHV8MRHZQLX1B?)5?V'+UU.1#44RTU@C5-L??GB[M2A%_
MYZ9C1;:=3& FH9O'@#G'OFMDC[0$580^=<^WDFMF;%H-\TY06:R/O!4+UV!N
M7KFY KB"8_KD%6G]U<&HG%-S2743=RB0.U? ?LW+@J-$YT5^42*B2*ZDA/>X
M#4^XO*5H+-[<R1'?<=\B6-36!M,-<"2! 5V%J%+&1_B22V.YKL&^/2^[KK!D
M$(VE]W4<#%&6.P=@! 85\B;-$!!2M$HH]>V3$G#R4\7[ :<RYD/9P<!!8'X1
M Z+-V7(E=7JEL 7"/7@UU)%BEUTQ7C\P$M?(AA0,CNX6ED:H^;S:%5?)$SZ#
MI!) 8#N&RA\.5/S&TGLX<;A3R>^\^G"JI:.AC$JIQ$)ULP84;<^4.?1321;E
M+K:RIMKTVQD(MV>(966>O,S;<=]XR!J"PW?8+2L(+MN4^@\1"Q\]3!%'NS7(
MSE/KF3KYKF)K-JJ,[0[JRT(0XWUK/#5LM'FUV.G"YTEW#7FZ99TEMH$DIP/+
M 3L:#.3VPVW:.-J5Y(YUO'=9V/26]4?/W;AFHH02"J$I(X408FO#U["DTO8<
MZ2\[Q =W^G82# P5$@=?=K^7.F#M'DU>Q;(GE[[69<)7@+IQYK14/DN8F7/[
M;;$V@5HX#W;;1-\5^-8>4\)2KJ%%PX49*Y#FPNM"&6^\%:<EN) M^BV;@E;T
M8$S'TL0J) R[HF=D7UHT$&9[>O9G)9D4P >V(+ZL @3SRK0)G)5HR"YXIQQ8
M<F!; N_Z'K-#P4/B4AD=%X"'O (XS:R+#$(K.A&PNR4'-&&LF/L?V)4T-HJO
MB]-0=IY\7HOWBL\Y4XUDJ.T\A[2>N46G.37U ^5R <(83*.H&,4Y%)917S:G
M3-'AT ;?-.*-4TQ089CLFLQ*TXYA?8XF/^Y9U010#5&.-!,DG%M.GR9/S,:3
M:G[93.W"P\KTVK(4\S@073:"AFPP.S4MLI[?K*V!,@['0\5%H8"KM[%8O!!C
MX:H<*L1V>1S+.$;D.2?,2&C.$-IBSRH6M 426$PK@?,*7DN@/C FKT.@G]0F
M08I?\SV0F ="O&\16?4XI6).A[OB-,JE'0%.1:T*V>"<=G7N05NG@3/Z?;@0
M3F;!3N4V!P>CW=_'Z)RK-\V3 LKH8Z'\WM'_Z:UVO8VI!-*?(LR*Q6[+3/?8
M2O*8.*.LJ/D$:\OE^,RIPARQC1+X\O8XA9NB1NE*N"B%9 MIU)#W3EJF\A'2
MFC&N&L>K.*?#SDZS6/28L6VYAAACDV"%"X!&@'^X7J*)%$P1^O:F==0,B9T^
M]#H#Y+3 K+<<#5!.9%B&5T[:0W9,!%V)PQ,TI@M8]'&/37LWBRK4G>RSJ&['
M+WZH:*];AD]#4,Y+B9 H+ 7UZD "2=VT7KW&3HWIIAU]XS64?#%\5,&4L<!9
M_27WK.B<S)I6>.KG D9 ;*7E+.U0N& ?Z!K7 4"$70C^)P,T7BB^=&<LPMTL
M;V>]#P6-#W7EB,D-COXO$ZW[EFM]/.9:QUSKH>5:;Y^%4LJB8,"R6GFCW:A>
MD?+:T!?>,8X9J0.VQVA='KU\_CPS7^[-*RLJ1R>JT'EUVI93-FTXTK)9A^(2
M040^>H%/OSJ:_,?_?O3L^;=,)>8>\K'-&=9^PIT2\,L/)Y-W)Q_?G[[]B#'$
MZY^3#0]F,E"@G]AE%1Z MCDOI^5:S5"CL]&JO"48L<+O/"T88[L+QGKS5X31
M8K,^;]KRGPCK-,RC!"R?6M-S_'H7IIPNI)957^1-9=>-3(>%LI)9[R_GZS3@
MRY+$5"B'\YP\J[:\R+GS5($V&?2N<E6&F@RML^2+$(HW]('&1^T?(1R(4CE+
M#/C>'('N*?0J"ZP5L ]EDG["LGJY.H;"^&1S$3<UK'N:92?]5QL_"T)S&M_F
M^XP>4 D[H=461HC=INV"CQ/CFXGG&UF/K\GWZ5['Z(D?GTA V !CSQ2_BOX5
M/VN1>1WK-U@S<8%@LG@#T!6!:ND"1SHD2+ =ZPCAF!#F("OTO*CF>$Y5A,WG
M[@YG6D&I3>:,F]76'XV$!'U@A<1)%P\CZ1)CAK<'Q4B,OY2!SDOA:+&S46CZ
MT\D*&_[D0"1=6: N7 .GN-I\DOL'>1 )2_+9K:MB6F'ML4RTNTCH:H4#CJ]@
MX$ L*5F/6!!<-0+_U40MGR9:=3CMH& N8HR(XT4(''5DW.C7O8UTLR*+.UA)
MF:] D^"!$<KU ''.P 18G;U)-&P2R15G-(TM #G"M<T6"=A+MZNA"R-C2NFE
M%\KPU*V3AB]MLRA@<M),.69TCZI%_EQ(E-H#+E*UR.EQN3X#FU+,F$/-&9/;
M/S;E[!-? U-]Z-*5^7B,(N3HC.-5 @G0-!L*H21-J[77\##S>;[BE\GIM&>'
M:L] T<CG^1-8QMO I+W%E38,"[99)L3%JGP&/LXP;JL=39J[]$#JAP7%V9DC
MRT07SXHA#C.]*(1,U<4]M=C ;:MW*SG2^NJ<CK_6'$>S)! IE&VWEH$(IRML
MK.2WO '['_+]VQ__<CKY2\L5%9IS^!ARK&32'4V^7\_ER=\W]5F9D;%%S]/Y
M?V\,:/1G_#Z;_&=9?VKDKW]50DQZ2I9\%)^ACY[H8[8_<.)G\)%>3&<N^; -
M2O^6[0N/;<_Z8]%5N5LT_?<;00_H0OA%E3_(6SYL:H:\3][A0OD@T"(;%3ZN
MG]#J\8'CVPOQ&4]"(/>-9.XAT188T#B$GU2KW"1='K@,^"QR7<$2+89$ 8@V
M-O*.=2,!=5@JK$]<^T:($+HO233"0%W;HT3)*EEBR\F[_QK(V@?6>,6%UTVH
MN4H[$M 8 3*ROP:F^T(&-VNOD,_EU$>HVO+P]I3YMJF+6%BL#])Z5T4S=9N.
M^3[*7K\F*</0%]@:-'IO"_F;JL!L&RXU5!(G@'_RT*420*.U(0 %.*+<WF^\
M>4K+QSIC8-9<"Q P_=A7;8_@8#JHGEG3A)8:,M0ZA,WJ#-@TFO"/#]97*Q&J
MCV_?O0(/7G_W2G8<9AO=Z@ 66<*_T63*ZKQ9-P'V0@,T\Z%0=M_95:QSM"^E
MU0>\S!F_K+<G%JFS0"]">4)W^\MF?N;CW#[T3?-F@V/A)N1WQR"V#6!L.7,(
MY.LB\Y>8Y16U.40D*K9JQAW8&&O1$M\;:AA!I*B[$P+(1QQ*"+5TOK.FJ])?
M&Y&SGQ%</XXF<;D2P,8'<WE^C,5!DO&T:+G"X;2,R%+YUT%)5(=:5'68&C+M
MB=VMO>5EV+TTK9N0PRSVC<35Y4D5>5ZSD2.F,;XH,T)(HG9[&,M\A"3)DBRN
MPK!!7I*9R*5K SK+^8>"%C+35 &;\]$&$[/2J@\[K5,==(U\*A[Y]W[=6<EE
MXGH^^=Z)Z*?@DKGRH)#,/)H<C-0E;6.Z'==Q8+5*YL-^8]-B \S2KO.EWK>M
MZ"[TXU$,78BUP]"+T%)<BNXAT5P'SBFYZ^PSL?*0<58S3LU&V[[GT.V:50B\
M2+6DX8/X\)R7J\#%Z2A0B\]T6#H6G_23T%;V&M8[GXJK2">K=5J:UV #^$Q3
M'_3(RW.R?2^+V#S$E0+Z8L,UDV19ZY7 5BFB#1]&7:. -H?$V0J+7I%R,7*F
MUH.^T4 %! UFV02G-0#;TGJOW68<5A>C4^\8]!SZO1#Y2Q+VTX*5R23@1M;,
M <;K1$O,1=]T1F-M6CU0"GMC;-->XQ.#MC;UU578-9"7B9R!P0NNRV8E-D,P
M-5"'V+NL.<2U12\3G@M#!HHH<+:$J9-)A M BP*MFI#)A^5<7A:AZ6<B^*R1
M>L6";!-)NV9IX15P+OYSH@L+$IPS.<W&2& L,SYDD3BD _BBOM.;I<%%( R5
MX__+W>$#4:HW0JO9XB!UN'5(),N^1#AOC=ZR='Y)$@K'N>#P*PZYTT#F SJR
M<X?C!A );Y:YZE82Z@M@61)M#.F7_*[HHS-3%1(!%VTD/XK]N6K)LVJOMLZ;
MX),D%:P@:>GT(,/92C#?KOA*&7]W'?AP$0130_G;-A(:MVY<X?*)'-.-UZ#6
M9MK'' '"RR(%C:M*"[7I H3R_1]N.37P]@!BX3/0$FH37*(2>][/W/"3,3<\
MYH;O=VY8 \G*R+-HFC5I0E6QJN-N73 ANE3J>D*N5Q*\K_]NV=^_T6_^W.;_
M+$D)_4"W_:S)..+)H9)7=%J6TS+/)B=<J4/3HQ\_YN4E>T[H:)5)<!2C^1O=
M4+EK[U W$ZXS(WU91)P;0[D&(]V]@LLD_A];=JV$Z4S3;HA%74KG!M^+P/&N
M]8(_G'I-V=[6[&J8D>)B79A7EN1&72+8142Q<6(*S8==4F!#MPVBZ*)J&RQ!
M46F')/8A8NZJ!.\.IPVE_BVT5!B^TI,6&"!Z"ME2ON7<G.(\KG-VI!55#R7<
M^165V[W;L4[JFL".L=B755\:I13L]3LWTMQ5LZORUJ-.N514O+2Y\O4K_8Q,
M?H:@G^"_KQ<(&49HYW=  21#\AD<_OIB(Y08J3]B9>%_>/L?=)J^_0$1C!1C
M!BN\0"N&;R2/S>3+WG2)K6Y$CO<E?+0GC7S# 0FQP,TA+O!M6EP:6GRXHE!7
M((126%4LFJILLBVJKV:'U6PLD,//'U*TIE[SMC Z)(X'<I=G*[J<:&<]I&Q4
M;K3PR6'50UMC*430I*WJ*A#8:2V8%&E/0C]$ ;S8P7-0#(2_:[7YXVCB#1?R
M)BBZYL!$P;CPT*5Y87_P\4KZ;6 EMY(4>(YXL\(.PF3X[NKH+_3+7C5IBDQN
M.;(CA1SST/SM!@Z6T3(=6)ODD\ZQ 6*0.\L4Q<GL47L%]C@.O'8Q7:]<^O#O
M(\"X'Y*X/&\"H6LT!!)5KWWZ8D\B9.N3.%?HK)J4D>_*N@MY@P4^M&8H&12/
M60#"+J*,Z 3_Y788%4NA:"G[_<%M6&>]X::V<7\4KN=Z9UFL\/9-D 9H2I)X
M )BD#@OS\-$J_D+,PBT+K\+ XOA>";L)6B27I9S>6_T-7>KF3U@,:4MD3C$<
M6':(JWS5%7^R'[[]"BZB!0?\K]@SQ5KR(!Y4^56S6?\)U6]#R^N<-O.T14C7
M+?UO;I/0C_'Z_Z\_^C]\T79;5%?'A.'1\+^E^X AH"N2>?)/+]M\%<9Y] *!
M _CM.M3_^-\OGSU_^>W_\\?UW(\L_=#VH;OKH&_H3@>F0-C7$I5">UBIM_DV
M'!X>]1]YM?^('1NE9Y2>__7_;K%JKADL''A$R<K'A8G;+N^<=S#*U2A7-]%*
M6MYL$'WM0L$EDUK_RE;V*$VC-%VGI:1BI$?JQRQH'*3BM^:SED'IL4NW.L2C
M;(VRM4>V4I9H(*+(?$*8 ^ #ECH)D@9. Q8\!LYU/I8?+TW)6\N_(QHR^@CR
M+>\@2!D)(F<!R1<*BD;Y'>7W&OD-5IR&Q;2D+H*!+.0*9U-3T*.LC;+VQ;(6
M700.^@ LQG9=S2S '@@.LCOM=S*9%E>-5X&*BS/DO!9"RM,80Z5MN1R,+HO=
M015! NPW_7.4X%&"[R;!>[F@OR# J0PFKG&AAH>3KNG]UE01,N1=],P#P.C\
MK#;KPJJ$/7/K1)FGC%<G81\3&*"240DH?#PUXZFYZ:FQ N[0G47*K/D(A31!
M=,)\JV<MJ4YQBYY^+L#I+-ZT)Z<YBNPHLGM$EJ&1+H%H@"L0&*Q:SFI)I9!#
M,C@HJC"@<CO F,B>D%=7-=:498R(C@)Y:X$L:\,I!$J-+ &Z*^T Q+!B.,)&
MF&Z9E);YN>B)^^3LOJ%\GXXHWQ'E>T>4[ZA31YW*.G53@_:F7 G!9?1YF'M3
M&V8$\M\>7&B'&?HM__& ;O.'H^ =H.#UNME\]=8UOW(3FMWR/7P]02[#Q7@(
M,"PI/$R[1/J8HY:=*\NY *AXQ9P-I@')%+PW;9L\\-VB3/%PH)MO8Z/)@/8!
M.-$2[D6_?!I5;6E3Z7X!!;<REN*1$_+5Z8MI_^8GCX^.?Y]-3CHP@KG?/SQZ
M^GN!?;_>L(V:R+54#OC//WIV]/CW)K:&3T+]JC1,WCF Q\^/G@P-X/&SH^>W
M&<#QTZ.7.P?P>-\ G@P/X,FCHX>W&L"3HV<# SA!<+P[+Q?"^HUB"ON8 ^1;
MF^<87;&7:$W*9=-6\RRP6 4.JW*IG3L+[BHJ;0- 1SMO49]_;I#/DF50JU&Y
M96N@[D_) I(C98HO0#L\]B,3_&S07^PQ.Q$.BQ, \E9ZHF53-D'A;=$^HURB
M7G);%%\_'1NL6L>CO0WM[A$D%WMIO7IRYG\Q&OVD, I$F56A["JD]H65<#(O
M6"%(V,(Q<?1X98R#AS]4Q(;>1:1S"<R55NI-.\I-?'4(Z'.KG)S-PO=/ JUX
M4B\EH4/7%R9#*2LDR0U]-Y?R'7B4E8)OFTOYX.#%8<MM.UFG,ZDBRL9^C8U]
MVVN +"W8DQ;+&AT[:QB&OT88M];@1(_'"<W1N%#KZ?.CAY.__)1-GC[4'XX?
MX0<\Z_CAT1/\DBDM[,Y&YS#:G>_HO@+T^3%=3*R<(7Q:V1?O;=%#.A+W>JGZ
M>O;(WO_TZ+D?"-[_=/C]TZNMES^1!=J1X=FQW)<TD4?RNO/;36H/OX[.=/<.
M']L;!Z=Q,!).-^Y_TARXODEN7LX-<[ (%8. OB\YT_" #1;?<2T_:PO1<+$B
M85/#^ZM2^M_)?Y,C^,_S9C-YI63M_UG2;[K-Y!T8N;AP"!6A1Y._HZ1IS3=)
M>'[FJU#IGMQ!#,)U4)Z]"T=%3H\H:>4SU"U*&N/9'BLMR/"FPCZSJ01B40Z5
MU"8<Z1>U-J<4NN-/V?]E[UV;XSB.M-&_,K%KOT%&-"""5\G:V B*HF3:DLDE
M:#/B?&O,] !M]G2/^P)H].M/YI.955D]/0.0*[]GH#,?=BT.^E)=E965U^?A
M[MV ]( /,DKR.3P7EC=%XZ)/GZVO!)@'T_L.W+=OZ&)^\AEO%V&GA!1&M8#/
MM1&?AMNN8$6M5M()ZA2%F)Q/#DL>A[J(PLBX50.&#1=+Y>!B*!DP*H4:=-]%
MJV"L9K.?BXX<0 9+^T"FMLUH7MOLT:RO!PCJ,YI6-%G'^W?-&G@/#W#JJG_C
M/OYS<W750$+?,+_"[&<&Z$/?NC9T1_ YR)4**8ZJC'P4_?>\'>8,EI>15M:?
M=+.&?\N9]TS_Y9 DGP7!-WX?AX\WL6N1(>VTX;)$ R7VE9GIX>MEV>54C;P2
MG5+[!1!KR,)(%-# QW$M!E"NEOSH@]/Q;^=]PP?09VTK*),=F^HO[-ZW75-?
M,SXW@Y$N2*GGG[>Y1O/;T0'<^Q=J@[T"(]+8GQW.I'Z,M(^-8R1UP2$PL//
M[<#R>%/F4^XP(*0V"V!<EOX4W!P X4U#1,[^11,.M9]@EVD+L^"UAB(9P[%2
M^I\4);-8",[[F'^RN,ZK 1@1'@%0'!"A']K^HH"E#2\IN$6.+<@;T@[3=,_T
MG)(JNF$S/'/0ACD0!6<;LC,,$ ,?X'TCU!1W.<. IMBGUQ!'^7BI?XBTGN-R
M(%BZ\-LWA@[I/H']]/%O86ME"I\J]&5<U43Z<\$SFGZHBS0X:$32K=S:F_AO
MV#,GPYJ?A_4WDC:=>6/E U22\B@L; <:T:]/S^]W)0V3O]80 Q3I+?YDKV"\
M<3K^[5[D/819>GY,P!X3L(<&L_1;AL^ (R"J,03X!2%7<H1\]FOWODL+((UB
M_)!SP4"4&>@R9\9J_T<):@RI$5(0 OJ!IK_LKI*6$/?(!(E'^8I3R(,%@T?N
MHLBH%SL@" PVF=1GKV>^J"R)MPJNP2%&O):M83O/JJ;Y%&+4NT]_0Z:4<+NM
M+FA#T^7S"\:9C[ V.Y;#?)*R703*(#81Y*!.ICE0W;8^>C/9VT_&#6,>;^-6
M")&.8AWZ;\S;LBL"TC4.8SZ\&3+'A(ZM*XBP(APJ3DT0=9 C<3+!E[DEK"3^
MJR(X30QI<'HD3%^V8U.HC-TRAY91$Z:LVS$.=L!0!'M6:K89E18^05V0]Q8/
MY,PA$XVK^A1S*QSP9*0HYRV\UE':Q<5L8&$K]4TPD1-B/EB!@).US:H/M#4Q
MP%190=ASX5*_EM$0B0B/G,ZC/P7PV=1^"ZO.>#7-C:+:;[.5C%F-R4#K!G[
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
MJ A.)A]+].=+TB&U8F-^O"I!PPG\=!OC3$*^AK(</!<(9.2Y'->23*Q2>E;
M'] /$D*[2W(8FD)P\HW809#I@9,+CTP9*X1A7O<]@[^.=ZU2=WPLC,3(3<WX
M ^$TM3GLH?70"@TJHTN2BM6^7Z7*Y$U7E070]*O)B3(6<;R(3%'(;Q? >*O-
M>/V8++5F+MT*SL'XF8I1ZBP8@705B2A)6F\"RS;[4_A#?+S<EUF114K$52]2
MB> GD\=8=4WF5I?EH^@"MI<MF39(&TRG$0-:P1 W.B3W9V)>1)C4;*3.&+77
MM4J06FWFPG,>[PGHG[-FM-9D5%[K8X$BS84!O"%IF'VA4.C^_,[U\*U5BB"R
M.<UG.+^V!)B6C[%SZ7OH8VC),AS=CQ^??CU]W.=J$WS1*]P;GCXZ?98:!X]?
MN%]N,0[8).RVC)G_Y8?G"+4$YV1"+D+D9"PO@0?#.E-Q_I5 @]41^=M8C*\#
M>TX\J4)8A2WXM@1SA@_X#+6$7PIGXPL=SUX3]G .P'\TK'FP'::,4XDWP)2X
MRE=KYKT!?>G*8'Q%P3I2'XZM29!-$3-,Z9*()/B_=J#P(@^UQ:O60$<&F2MY
MCV2F2T:1M5)DM\(,I_LRF6^5E=#MF>F FF79VU!5H8PYBHK%*)CUF0?.;P+Y
MNR\P<_\P?Y^<'5,'Q]3!H:4.?LMP[4MWR"'N;Q8)YZ-%/W%\095" NZN.D$)
MTE0G6!#WX.*P+[>Q>\5Y'#.]0;-)KF1[,CB4J"%4/@\\D8SKTHHJN]-HD=!
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
M6*M3:*V(0"UL!B&<BN>BBZVY&<'\S^>D+;16'#$$:0M\)2 4U2;IJ=@=29(
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
MO/-LQ  FRLW6"9C$1L8AN YRHF2@E6PORNYJI6BR>L 84TL +HH))BP9E)M
M;C3AN/?C=*;4-JN!=%K//[$9Y?S#\I! H5YV@="#A_B^L*JYUR+:L1CWHEBB
MM;E9K<@5HRF/,$MWWAB9]UV3"(WZKQ(57Y;L"UWEO1>?3KH#9<E5:K4JSZ@:
M-/BNZ5>N)%TRV+'9"6.6CA2_Q#;E''@ARV:+>"%^0;*=U8'0+Y;] HD<?Y]N
M4K'F%\5*X$G[(GZIFEK;CXJV> Q]DHP7%H!>%0KL:SVC&O5#,$\?Y^9F]D!\
M1ZD#-OQ8?;LR$9&H+DI<_7"*)BCL]/V?K#]P_2GS#?KUT:BE+PM&5_*#U^]>
MA2I0X?B-N&(ZZ>U#1T,A,*.P),5"9!<(H29D"T?UEU>N,!7Y^,/9BZ9ZTKXE
MKX+&$IQS22MK%[BDFEZ.]?M._^1C;"JGC&9_WZ;X[I5_PQYJ'2@AQUJ@WBD*
M-!F_ @"<TH1/A9Y<@ CEGID6;V]_ -[27-"$6@%\N;H0\&!09H0P2\B^Y+^
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
M5I1(7*Z:NN$\X*]B5H>@8"U<CXI4O>)HWS\'FH*%IB&-AV>G1)#YA")%)QI
MW+JC;*!$Z)(YQV:72AM.KCZJ3) P%H7'(6G_W>,(0]>GK85->\*<6P;&'Z(3
M61I+V.CDS:4<3G7$-5_GQQB0L36INA57T#>'T,(NE.M :92G,[]NFDHFTY"-
M+H:-S:0?B;4&+0Q/^ZZB7DE!O>?N5)[T40R\+BZ;'HABR_RZD=9( 6M2 $02
M^&VR7ID.);^9Z"FBXVB!6Z/*M;C#G3]/OB&4QX1J2(1DZ:PCJX?[9*U0(! =
MZ*/VS@PGOWGTUD.#!M% :D6K&-2#%GMUQ:3D.P2&MI&F4M5H%IZ?4FS2N\48
M;XBM\'^DNV149Z_]/U/@MZ$/*+8\T/Q\U81)C&-=, !VV2BK:QH-,\0R";O'
MVAXF!X(( 1@K;R-<.Q(#6AJU6G-ET54!3';)@-!3:/DA3;8 $KGK]+S-/-J0
MEPF%?0GKJ MFZ&-1QNSH\!,;"F2V"LL862"I3(&\=-8_,LU)+>$]JVZJ\AM9
M<8]F"-$<N,^PLL8L7V67L/S1Y099'0HS7-13*O<0!4:9?ZBX-"VH7'XA+HR&
M;B.JEPS-*O]GH?C.H4Y*WV5TC6ZPAMP,4(D0F(0ZM\#+Y+S$[;]5_9LNI3*'
M265;51CE<D>*[T2TK&5OU/1"?8<F0*>68X<6<-?4JKZ<.A,<#%?(%GOJPOY0
M=;=3#FY],0#!8)#R&0'$HBZ5C-:JT-C^TEIYS+P-0LJB\HVTATX2?2>]??JO
M13%70::MF[>21TAAIIRY$Q22V5)^2TFFF9%TE&.>3^N8*;:;@]L1#[!0 [L#
M$_6V;L/[5F=T=JPS.M89_9[KC-Z-6>@"CY[":P_;R/\&/"5&MVE+SS_C@QB!
MR%Z1: _."?M(5HH4[@H8%+3WW9U-3)]K$H,?D3(O*EK!J*M^BP P$#/*H35T
M19J,ONMHNE!7C(8#:R]<<'4LF0?EB/JSB] $7#G2<ZC<G>]DO !6)QC&</61
M5(V&&-XB/JA6GIA=9^_0$M8X8:$I#QVDVDJ*]N,U; .'VA[.5.0BQ[Q/>=MN
M7*'0>%(##FSF$0C%G(_8;U;1PZ8MO;1;DE"3R[RX%*"*)8H% G*J8.G2I%Q(
MNY[;+<JP$Z^E92]"9<'.-=^SW>ZZL;0(QK=U;,'YF=EQ.GO-OGD9T.AO'960
MN;/15=8259#>PNNF#1/+-3Q%FF")-JY8-,9"=8]B9Z@X;&"G9;/O6]I!5_E-
M/?N?(4,/D*\A<=2ZUVIF2I!"5*3 $C-X=>> 0=A<J@0TVM VW%6J 50K7:$7
MIT*?TJ'IT9<8[%]($[)01FS6=,H:/YNOKO*2$06RV3OZ6I3:8Z)>797%<O;:
MZ@9G;SG8S3<(#L9<-H/$@LZ>9%]_\SA[?/8<H1MVH'B6Q!5@H-Y0E]$,/1K2
M4:B/:TZ3P0D7;:?=+3HT6 CG;V;GK()'@9_DYCO(0F0.<*5 $V8]'#ZM^,GG
MM*$[]68Y$DT^_,+#Q1O3F5)&NR&P]5U5]O6LAY3B3M2[JJ2%8>RY#IJTB=$*
M</*Y=C1_8$&.H2ZKFKIAD$7NVF+)!J3AT.82 ZAR;5"3MK7<-0M9\W*S]/LE
M[<A:%.1D*@K+]D[ U],0UES"-=3JY3##+VB2 KN\.O*EW@T*.6-ZR!/&.+]I
MI8?,03)*1TN\,HK</5)JD1[;V2DDLMQQK36BJ[*+8&_I,1S(_]!3*:YC@')
M),L=%=$75!=]/L$:R6G3B7,COP&.[Z&INK>QW-FJSR=JS#WJZ]"-\1_P,Y,^
MGEPU-[&8[DO,/;E9(Z1\AI"FL\4L0T-:7Z"Z3<'.!6EB'*U H-$MJ5@SUS11
M"[/S SS?MHT0^\S+6L(F6YSBXB )K<D=/]--&5?'"1*Q (,9S'2'PF&6G6Q6
MD1J5T/U220S^-5@;O41U\FICF JY0&NT0N2BZ9, *18@5U("2X[ 7N8*H7"=
M<O>PC8=!)IO)XIK795,%?3F](CL7XGNRD>7LFKZQ&TK 1LC;61G*J2$H#L4"
M'6>AP9;V99RH?$$[M40U?"EDPN$&+?AFIQ=%XUHLS=4,)WP:#:O('9#L8##G
M<:I>#AS#E4P N%2'IHT7KIX^]#&,0_4WXAUA5"6WV5F3)AD.=7ZR(L/> 8"4
MM7=%>$I0L9@!OQL]UF'3.&PVJT'U!)"A,%-],[0@QA<M&KJ&33I;^Z3G?-]Z
MVYG:%M(,[D)N&FGG(NTH=\CX._D2Z6,0ZN"=FP8V016L#QYP^AR_VB$1$(A;
MD3+)E8=&X4YT)XCB]DH[^@^(UCOQW>XX[XKBDQ7\=@Z7)QXF?"205PZH^[;9
MY)7\3"<Q.%9&%3;M:%SLD:I_R5==E1=EX.;UD"Y0:1-DL;9EG1?N@>).R6)M
M$*SEG10G5./E;$6R4]NF3?=Q59.?I6U%3!./6N3>'88UT/W5UCJ6W?_YS[/G
MC[X5+C'@*V_WR-\HCM&4@C)E'DQ [G\9^HC/Q)K2R %2'>F=<;C5PIJL,7D=
MD8S8O<6>;R'E==[U81M617XM'"2W$$C&9)FIN\RE&48P\JAT5H%*%B-^:[FT
M 3.RI"47@N4B4/TA?'#;Z&Y'R+Y'%B,C;=$&KPW?/^V^1]9LC!F@AX<@I(#E
MA*^HR7$8/4O2'_Y636;_)A%'$(H6,<<L] N=ZC^ ;'E5:52NMGC):AV6':K0
M4JI9%P;X3O,A7%@LK9X5C@LPJM'*N5E7ME[[< L+\IE6,C7B#3?3W[#,TTJ2
MKBHT99E L,1Z"5P>C,(Q5JJBL\(0TBY[8_"*.S,=JE8A7$G3O^(KY%VZ7/Q7
M*1=3?HTQ<FCJ(8_GBZRCXAJ]H[?+M\ &@1FQBG4%HSO7+%H*P*(T?ZENZ"S
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
MA'.L(]L"D _U(DU4?,B[3^S/"O:B6C,G[_4]/X3W?.\&96+PX=4/WYL80 N
M:B(TY*0! ?]5VPH\<;K.TSO/C5YO]ET#I:ZO?W-^_EV0PL#!M[6NW8S'R>^_
M0+4$N!EX/[+ 3LF0MK4IY4TSNRJJM1<C1(@4!TOCD<JP+ON7)69W[ 1KE4CB
MZ>Q>)H.?')/!QV3P/4X&)Z@D*7)VLR CD/L>I8"FA@JP RG6M,;#*N8S-:;I
M#(H0?PVNE"@^]'R$+ K;,%#E^Q6'IAMVQEJAAD5Y)> *RL=Z<]7PF4B[J+PV
MFF9>NEH-)QU_LQ-Q)LR1&*$\+YT:*_E%U[07;!'!<$Q1D_Q+D%8#JI:8) ?C
M);U*(BDT=\9D:V$??TH(#3J7=QO\5RU@$T(S8/PX:5@:QD.,V<!'ET+" AXM
M5_DC/M3GOR"]F*]/:-E/R*0C![Z;7Q6K"(IC 3RU]99DBG)I/8JSEC'NY<Z9
MEYW+NJ3 <>QLY9>7B$]=%TZTY?G.?4#,3DW14:0[C81/A'VS4;0J!#'XS+5
M6Z.D5*'^##!;$;4K3>%N&UQ A@E!MZDV+'>8R^X<>[MA)\0DO]1FI"V#W61X
M&6A(DM_G6V4E70QSG"_H^G@A"+9$YW#MH\.?B9A(LO6,('J;AM45Y^\:]+A)
MWU@Y8I/'#N<S\=+Y+YHRB8P=YB-';86@3,1@2DI1(R"1S[J>SEY9FCW$#F$J
MV^RTZF34W$W;6D"5=XE6O=-DCK=+PIJF>V;\;5;C+ZY:(= W6B.Z5>"KY?>;
M LW-L17P<,(^;]DUJXO9DTSAV&/_\7?\/Q:+Y,_]H62TN]G[HEOSM.K1\E*J
M8^';F=W]P_N7,;*)-$V5WUCN1LE$:=;9UQ#EH$;^W\R^?YWHQ'=B,/.;[ U_
M>_TNO&*6TP0AZ])Q^FI5"8O*5!663_E)@DD!\\3S0:=5V2S 3"9[[+Q8]QJJ
M_B:+'JP!E%6(]J'6.JYT=-;0@!+ Y#&)[U^"A@<.L?:&/Y'P[T?&;9W]&1&C
M5XC\@+@PG0L$G6C:0QCY]?_$J8XQ1T01^!-XHL889S$9@;_Z=9#2\+8(_<!A
MS-CNUR5HU)F#9OS@D#_E *R/R2)E;M0S4K&PO./BT,<!X]&Y6F#_U*G?_VTZ
M\@#>%#Y3!MIW_BF7%O+#L:A:8UH)2"0\,;QDM%$-#/:-7>%K4CP)([(@Z?@E
M7&0#*46B0O<::T#$(^D/TL;DPJL:$P.3@FPFKE#(E4WT2ZOR6!A\9EX_8UGP
MW%0QU7Z/ZDY>A2;^-E%CF=1#\1$H(:%@8K]."XG.FX"(^2,,)2R6[<;7YS\&
MK;3"]%K9E@-"<8V=UCIIU_)LQU)#V'K%'8I04.N.PH-#JSMY)^J5^P,F2D"B
M+<"N5*&12W0$7+1-OM"*3F-[-?!33L%XV /G]G!IG.&"!!.A<?%[%6O#-(R@
M#I=Q->/SXI_1HU/6G%+-+6(>QB/?YH<$6R24'F3QD9V6\;H(E%V7<2*C-?P:
M>'R2AN>()I1-*(2)4+ 0H^7 C??BBR(9RO--BDRE,IUU2X2O"C8<.1K-M6M;
M3ULV\P'117'/Z7/XH8ZKV.C;)M95OX,,;PZL?Y)V%WM^%P*IIF>!%PN@B:"L
M]0.FGZOVL4'HB!LE"R:,8L#ZE??FM?\T QD9Q5R=8"4\<5R#7?:#OL1=Q4>T
MJ'<=$ER2>G[%46"_3HH)H"VM1: O6L9O1LM3T0*D UU<%7E9-'0#8HU2QG-6
MU)>LI&,=MSU%SCX<OCQY+A_9H(H2DFO2#3W#YC_BL-=-GR"P2$D._T4F-0]8
MR<V,!3R@-'IQE$^\:!"S2.%4A$"(3[  )(#^VV0)%>A"=X; HPBPR+3&3EQM
M7G]$Y 7=.+I2XX,1X_-4A8L&QVQP66.46$L_A'1N4O%D;-:NE(JI8BI?3I/]
M8J'>"!/2B!P9=JG@<6YSN&GJG1-U=%BLA09A>B=H&G^4<PJ_&PC&Z>RM]OF&
M[;QS/NT,\HK6J<*0T^*H5C=ORPN6UHOFNC ^W<FSJFEW'%5^E6+Q<&R%Y!%8
M5S=:-ETQL22'!/)6S:Y0B2'IGW&WN" ( :<D G]ZP&B21*![];(Q#?F:B9,7
M7-C'LFGQ24/QPGX^'%_N8YH\7B31F[:\;+B"B;/X5L-(TE)?*GZ#EZZ01/I4
M;!+50>/@%"8V@@+'27=>+D=.Y)'DS1.3;!8<4A]!M2H7H??M@'X5.>CJ2$3
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
M7<2#!E7BYXZS&0SJI)_C,JD^X.>Y/&1/\-!E>KN\JY+HYJ*S.;58@2<Q*\9
MR/'+!#+>TWB)3&!2\\5\Q9/MR*87/^43U6X3M5=S^F@:60,6G'%'U?K^3>(,
M2=X]2>[U*-U5#A_-K__ P7.F;1[DL3VI90Y;_6):"VG^AO"1!__R7P>%EMO3
M15;F1475-#7:U4VHK16(']N,='9PR_#^5"Z8=$F#RG0FJ/3$5&/-10W2+S"*
M.9<FKW:L*N*D,7!%G1^)I(4E/=-E\NM9.\IJ[YT&3V(QQ::J'%\[]:8%T8P]
MC4\E2QBMM"($0&25&YS$GI4E-3YC-GI-@R4**,S+SG*>B"-/#NFK7@4KI1/<
MK$1PB90GT^I*N$'*)I7!+:&#0+O-<E:POK(:]Q&^FCD>2)9EL3J>5VW,V^ [
M-@)[>.(R:XK;3[<$/BFMY]94ZY+AN]_6C8>@."!)0L&=(&%2H$.Z8[;&4$C2
M5.DQ9<84ZGD2,FF;QRD@ZPWUGA4?.DS<! I#@<_>F4S.:; ;A)=/PM+K<\+.
M78Z74Y(">9Z[)8L'3'(Z^1JBB32AY'.FY=9%5.,6SI@L2<P2SUB4E["9R\FU
M#AAJ>&&ULL58GDHBM_#8AK3A@??]Z8L8N95KZ:;TU4&=4Z7M$274[A$R-Z E
MA ZEQT!5XH+?IV?[%Y1\>"X,I2(Q>8OLLKP(X>CJB_'Z0SSN-7W(A#MM1I'A
M@&!DPQ::FJ(C['QTM:[G4S@#>B^!R3N^KG*D80LY'ZST0FQN6 IDT;0+L<-(
M^H)"6"S'DHB?D.I@V, -*27M>Z S@N_0V5(8N4L5H@[+P.&8/]:LJWN;0?PC
MRBB!<S<B4MA_<ATPU]BP[#LV7*4U=MRDBM5#G0M'WO$B?*XV)TVJB/--PITI
M22 V;K> *Q[<;F]Y$#^WLLS$3G.R@T(?F6VQY](HGMIS7( @$Z %$78.8!3W
M*\\L5@;[%7$2<-KFY[$"<Y5[A95;MT5$!'5RBQ@.1R*!&CO-ZCJ('<)%ATWL
M+V8&>.DB&MN7R7[;K57B!M<+[D!+2+UJ/(5>B(WM,O4<\7N)66=]6"5V?KG8
M*K;;,="SAT!$QX2@@AW@7CL/RL%[M\O*"M417J&6*_1H0P?" P4*6X]1:LS;
M2-^3,?E=68PZ6P.?%&LHO^9(?=]ZIKZ0I+/)5,N;YCK9ME%PHH!JM7)G&$).
MC2!_P71&@,"X&QLO[Q+S]@ "-C0)DB:=;SW$.)V1:S<-*^Q84B1,0!S;'5%C
MUM8+F6ZWEC+Q35ULW5<N4CO5";'J,VH1Q8> 0R2USJ%W+3^-LY<;9],A-';(
MC>*S%!C':;<E^9*^,5E?P$TP\+\[]OKNK5YA);+Q/.;Z5K"<=EBKUJG)M,P<
MML B[7%]U\28SAHJ!4F,$^D2 7FW;CBZ\Y:K[6A^6\O?*(E>+T ;N&QB9U F
M81$P8*V>Q?T;Q.;U1 T7A*0E*W_PZW)\SKWF)Z#H-M,)'PJ:#X0(%NZ3MP@
M^=K'#*Z*>(AF6AYTH\@MT!C/>O(EQS $C:Q1@>SU-P_JTU0?+4#,"H3?C5)]
M"_PCX"/0;GU&\GHQZ%!FK>E:D/@$/Y)#/EU316NOB;=W5$13L*DG!<IMH+7'
MQ:Q2P4Q>B#["Y-$Z2CANX,.*##=.(DA>"U\U2$#1+F;O4[24\R/8M@=-4K?!
M>9PCGPMVY:NP[3F[F)KXAB_-N(6& K(G$Z35=6#,C"AMW2Z9-4.3)[X6BSK
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
MP@5Z$VE^@[< 0YERZ3^A7> [!6I!#/N.G'N9$'G^D!!Y2(AL6T+D:WI\;U>
M:A)8#P[W13F$,<(Q,P'Q*%LT4S^?+= W--H3/[X^.3[NA!7*B:"IIE IQF8[
MCI71[TZ.W[ZD2V*[ZK)BA*S!]83^1;"44T;:YN& "58*>_SCPA"AC7V GNLR
M_K4 &%@13(1FB8AA 1A2H8'\9MVT,$71;6 XUC_ZFH'@VCM^Z_S2=\NF7>81
MJOFCI,M>!Q>,JH]/+,UQ'!NP4[&)S29D00\WE!M43,H4)MZ*&_:?9]$2MGXG
MU(1/F2F)(:%JZZD4N1Y;13$L.;R0C"68#X@]$"X^OTK>(MS=!QD)H]; F"!&
MNE37_QB2)=&HEN.RDL2[N2B$^S/FK=0Y$%E@S-"(8)-<RO>]XZ<($83.)SWM
M+3I%4P@<8&2;6NP731+RT''4TC.D4^'.:2RN.*71-RO;%%0;5S6#.\7KOJ86
M/+%.B',O(O0]L%9L MXFDG>HP:INH;6(DBQ<8%T4!%4][(1_[!C7F^Q2 5CY
M+M"GGE)!G5-=PCP614H:K6P'1IF"1E"TAW_W8H:[^)-^4SR%N.YGB7*$!.9:
M;!3)SW2M$.OW$Q*QH[3[[J):\<J=&P6]I;9!8^I#QE>5S'(Y13368*;6$(#A
MSZ*RL_"YT[I<A!=_J,-:TG\N@@9MEX,3HE>!X,K.4 U#&9S@_'Y!F19P/ G
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
M-)<F:#!4*X)8*!$S=#)%R[C:K?B<DP[+DF\&F'^EFO+'L+^X=TH0,-<V*LI
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
M=0BT;8 F+AT6')?2J:[DI/<MY7?XD/)[2/G=XY3?6R.S.F(^^LS.5:-]Z&0
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
M2I.XDAG]Z^;3O,J[*ZR3'8EBRV@MMXF>Y:VLZI^U6]^ .AIO13"\\>J:HO,
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
M-"*];BKF$!>I6U/SG_^Q_W3O.RNLV;J:C-XYXTG)-D^.Q'QC-(O.[R[5?:W
MNSX:>#M-X"T4Y]?>,^&J@4J.5J97(9P];ZTVTYL %YQ.\V%MK+5ZUGE ]N.,
M"UZYFQ\&XVI_)A9#E>K.A)N=)G,8=@G7Z:#5,TTVM_:F)P"N1[-#D1V9NPUO
M,VHSZWO 0?)6(4V,P<:73%SA&*:W$[>ZL@Y[?SXXW-O=,V0TLZ!1"W)@]ZIZ
MP6$)ZDIJZ=#(_1EVFQ UYHN=\+X=CEIH+S\KMPSFSGF3S_CQOE(Q_$LH./@E
M^Y&ZR$#J+;6/.,R>'K[(7NP_[RT^8P>%NQO]<O;G_2/_3>')YY0^BW6]@D$:
M%UI>,K+&8F*WZ,!!F]\64G[-M=&E\%PQ*))U@B>HN$$]*,MI;%H!YJ;I4G+)
MUA=#O]0D"M]*S334O/H-&L8*<F-7JV#M4C$,U_N1O8WZ0](:6ONR.@'$C#?U
M,]'=_BA0[ZA'V38<S>00<P7:3R+61/7,R@N8C1J!.=D%4B6SZ=.DUYEKOIF6
M]["!F8]&1=!M4^:,O@P* ;')@NH.=(?K@'I8@WM82.[%R?>A.X?* )!N+'%A
M@_<4U-"TV+K#Z):?<0&6H:(:7(0Y")M#OR<)%1#"%[G=*:78U-7]/E9-SBF
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
M8,VW(9H9#ON2B+"<7G,^N5V<(0S#ZH<TJ""D97<"9P@X#1K>4MOVG!V4G&<
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
M-L6/_XUZ+D[/&<\<1:2W9E)^ 8+!QLB5/:# S%0BI=[5]K#LHK"S:Y0"Y1/
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
MQ2?C]W3ZCQ/F]TRXOHPUK-40XSA>3.7L9:,C6?V[UAKUSE#1)!_<N0TGFM[
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
M,S@*SJ4K)+LPML^2-#QF@=>DPWGW-P$O%1MF(?-I>'VZEC)C<%F- 8&LF?,
M]G6B.<J5L@S&5/C5D4Z>&1P6B!E_4>T4-1KCB''3X#M6.R?_LV9:[/:Z>R_X
MT\'.]J+'8J<16W_N)169%@2_O[_SK8UF!@XQSO=\AZ?Y+:Y#SAL)L=8)TTN,
MC>%EG+@TE'=%KG"TUSO@7S-.7N$SF@ZR%$Q7N$27$5O# *'ZFM "B8NB8K/P
M#YWW\=8WNBJQ-)$Z2W\N*6D6).MG'"V"C5/>G+I6RK^_;SP1S4O4-E ,GQOV
M@!T!L\ADNF+?U/-CEH"-G#N 3QD7PYE4;M#QM$S&3VW!K1#>7U(^F\/^2RYD
M- @]'71Z6YC79L)T3(9N,J&H&1Q*X,F=DK%[ J &E*6Q,GE2)[;'*F_B] 1G
MC?]^?LQ\Q%;,!FPX%G8Z<^AWAK9[I7=.%6D*RDX6H3K"%&OKL1:1<C<P*CUA
M+N*HR31Q!XHJ YR29=K!PH8FR)^4^^+LW1OO5Y<ZAVG&:LO._(4]V2SODKB'
MZ3 K:Y#ZG0FR:SS?I&:08^#LC]/W0APN;U)2 KEMJ,DI1H5)) QN44_I.-A2
M;<H^#3D5D#,!O41 -F6%P7@U1A2"QQ8D*N\#^(=95H)>E98-VAR*TOHSV/K1
MV,Y&E?'P!/5ZLT(YUH [F97MST.69\MT,69:\@PW&^V, <?5C\%94B'04M#/
ML;DPD+B,;@'AN;/S"JDL=@/3S\Y.>VY@.K)!X@O^4#K+!F_8N3OD_ B4"M3;
M)?@$P+LBL\D0.9D11."__O8)29Q+HKV*KK<YEB+V<$K%9Y;K4C[<UZ28N_;A
MPS@'PIS+<B4%$9@,.LSA2EZ3J_ 'C;:H;V!]Y!PRK;,_^,!36CA'_5&!CFSI
M-3+!WX[/ZZH5J%'=@^W>GE4'_*X9<@0-,P(50(,ZS2%)4QAM).H;M*V.([23
MR"P0&@MI6AWJ\^CA.P[KC)J3$M^R%[&NOS(S>WL26D'$XF+!-FFD2B&Q$%%1
M."':](ZOTYWA'W&Z-<:)5<8$-0G"!?$9'&_AY;O4'T%^W0;7&BM$W*5[J_(G
M7-04)IQK2YE"F):<XSW"B%C+=".P:( KW[1FU$8VW8E+4)81)I9-G)Q;ZYPX
MD9FZC!UW#']X^_K%Q<YNM[?]0C[M[#35$X?\IBX']QO::]Q3(W")KIF4J)H9
MP2R2$^>S2H;JV,$,-;F^W^MN'[V _W;WC0%0IP@RP/YW3I6Q2M2OYR?!X=[^
MW@OXSP%^+^K4I_/M(_K;[RT5!MW=[1=[8-G4IPV<_K:WO;=[M-5]83[U7IR<
MOMO>ZG7YW^[^BT]ONOM'1R]^NSCO=;HOX+CM=K?W7IR=O3EWNB6K.:P9NC*;
M7'M]M$A:C#(35%BB/WJ615\/L<B6&+6Y"X=<7ZK4## V=;Q<+#Z/:>J)%<ZA
M O,.D@&WT*!ASE[_WQH^XY0;D;!&A3M"ERFMY"K+D\'Z'*'ZS+8K/6^A+%#3
M[2S2K.&E\::GSHU--1K9[^^/]G:WC^U$N+Q*U95JH!-5U.[1P0X1&]^QF-KG
M30TZP?N]@_VE)\ :Z?O=H_F+C-'CV1-NM(Z<#7X7LX)<SXMT-MHEY<].-Z!8
M/N73()T6EE2837!0S\0G?OOY['C_B&?RR<8]K;PV66PI);M1ATRWIN>CI//0
MJ")Y4&/.;WW [V8&,@[;0$8;R%BW0,9*6ZY=V][XL;VNB*9: 86D\VA6=\IQ
M: U.[CJ$3&V K$L/0MMBRNLC5NO"@X*'^\5C]]:<&P1C<4=.28YD=-/0>3LM
M"1^,(82_S7PV=%JZE':;RRRI$?Z+<0HJCXKJ:YR9"-:,;0?&=7>1+9"Q+Q33
MU7!6["5DW"MCK09@Y9BQ6X6?*/'R6WG^FR1W&9ODLI?C>  8I:2@P][VSBN?
ME.Z0E,4+V8=7"2/%DQ?QB342@S@<1K#,%\S?Z)L:%]QV&4MRC>-HA\S0RMRL
M2][7E20LF\W42)5B<;4\46KGH',(;-V#62,=RF,PWBNQ?=$0Z,3 T?R]A8]^
MR4($M,#!C?S;2TNSEZH^S4;2#R)?EU.'=R&FG-V.5CS9V\PKNR,FNIW#O181
MZX"([<[>3HN)=<!$>R36 Q'[G=W#%A%K@(CV1*P+(EHAL2Z8:(_$>B"B%1)K
M@HCV1*P+(EHAL2Z8:(_$>B"B%1*K10356M5+,)=@Y';NOF^WZ\,[[/I!S_Y7
M;WDN*/#/?W3WMU_5EAYE">[G?W[H=G^X[]'9[NR8 )RMR)]^":BG=V!B>P^\
MSZ7A27E)O_:2>C#G_W!T",/F%-,;^>,;'6ELO\)_[73#?[WH>VAO"?SQ"?PA
MMVP/QLY]ST7WL'.XO]$' Q.8ZU3?TL)W3 N]EA9:6A!:V+FO-+QWP/>;4(5Y
M+%98]/,8'O,+-GO"C> C55IL+83FTY"G2Q3&^?^N8C,W^2 >G<HO,,>%]_N;
M+C>%]WU+'-YD-+=']DFANSVRFX_#]LA^5^ANC^SFX_"[.;+W<ZD]LAUU>TK_
M1#G(&T[AJ^-)&VS_?I*<]TW!Y?JYAIFG;3 )_+@IN&_/<7N.VW/<GN/V'*\/
M+MMS_-#G6$R)1LK.]A)PUA,A7&"GMLD7;<Q_'<[.-TUJ66."?_8NY9V7V+Y&
MI0/)8,F&_.]_A_PO=RWES\-,LEFF.L<7XE2UYZM(:W$5_2__$45:#X??ENJ/
MBUBMC'@?>S,K%^S??C\>85/!L%][OU-K%5'C5_Y.IKFF+$JX)NB%W9VC</M@
M>]5\ZLF@6N3WQF-Z%TBV1?+3/\\'<)X/#HY:5#_Q\[RSWSEHD?S4S_-.V.WM
MA;M'^RVJG_AYWNUVYI6P#3"+I6M<L0D6[L-SG TCNE[8.S@*]XYV-\A-\>"\
M9,-PN+O3Z;7HV^0S>'"T$^[O=5LD;NP9!,';LM"-/H/[W?VPN[MR#\EF(G$S
MS^#N@C.XF4YW;M;LQLNL3KE^[)U] PO_$4.M#T'6AWN'X=YVZ[J]L_W_Q.B@
MN]_9:8G@>^<&W?!H9R_L'K;QNN^='_3V.FV0I^4'X>$!\(3#5C_X[OG!;F<^
M2+0!\8.;2]@V./?TNKT9"E_-YA9E&N\ 30^R"D<;K"%1+X?-,A+?"WL'!V%W
M_ZBEB/OE'3\U@NAN;V/0M"6&ECT -1R$N_N'X7ZWI8B6/;3LH64/<^QAO[L3
M[O?V6XIHV<,2]D#VT@N:!K;.X\H>8Y!?7'LG?393_'[XZ>3\'4[E5'EPKD<X
M ?1?+^('7NH=!RI/\WA"XW7MZ#P<<3J(BS*/^U69X<PZ'NJ*<[?UB&9?PW?3
M//M+XZ!H?:F3;$HWICA@M("])_#GB].S$S<9M1,<!\4$Q]VG%;:XK0W/"\;J
M4@?C&.>0XEE,9C0DM:(A?#@V4 4%;)%&G:9E,,UR,W\/A_[Y(P$[P3L:O]X-
M\;\]6A)/8\?)?64V#88X]=J]6>:X.CP5C"<<&EB;-8C#[G#V[Z6>7QW.\_L"
M8"SQM^YN9_O',.CNP#_T?OBT"U_DNIB:!X1F[?-##3L!#7HT4P]A22,<.VY6
M+!-<"QW,L(5P8R4[G2-XTR[\E]Z\T]F[RXO7AB[_-*-H:1<%3CHO"#F3;% A
M<&BJ,C!D3;N&#<;XV%@E(5(<@"F"SW1S51+7V"J K+0\!<>^CV:&@IENJ>\Y
MSX/\4\NA@)WSRV7N,8^KQM'IWNF@NPE+\@YW @!1>5:-QG1_=I6&P1A0N#7*
MX7-0,):UPF')5V/ -IPAH"!S4U:5=C8Q4JA))[4S[+$ ;>M,17@JS.3I]1DT
MC:QEXD:5(OG%)4Y(YNGF.NCG!/8IK!J@.(ZGP&8R0MM$#V*%, ::+WB>-EPY
MB$?(5=U#>98X 9 'M LG"J*Q2E/M78FX [XU(=P5U13Y1V-<*)^JV%^S'!0[
MP1T788@@I#G.,DL;GPH_7,8#&3\^X;G.9J(V@/<RCF#K9B2V/"4H<Q6G<$\(
MY_#*?MO/8SVD;PE 3"9R92?XN<IIDG:6R\!RMV $!9P'V!3<,=;J$ND7YYF"
M9D(D8J9)XW.C'"1J 7>G:D13S DV:JA'E<H'3/%\'YR$D>X$KV=XZC[CBZ(D
M*Y#3T2[Q2H^676Y&D&A%$.%#AT-550X L")AX?H9D/"T:KI59EL#/!'""_P9
MK3CX'L>QPU%#7JU@+Z%!K1D"KX<X>+8PB'2+9,IQ+X:'#(<XYI4FN^J!?P3]
MHQ>:B>+F7+I!X79Z^/J<P#^U8UX(I@'BU6>CCJ4Y=E?!HW%*;ZZ!$<VFFJ"G
M<CBK3"7%2X$C#G;-U0)^^,H .C.SX.MZPS(%P9ROAE+QBK[_>/KA10D"&+$%
MD*N&\.8J)\[BK6VM8%^B2"@]RL-].)HSQ(GRBZX!$0W,KYP)BBQNE#]>'K@.
MX!0@1*/<!TAT**(B UIDK8;\<:CN)$.Q#P($;P+!6*5F6#PMY_WIFR!!>X!.
M 3\&%+5B,;T0[\XUG+5T!*32QR=JDK<9,D*<M$RR24?C-$LRD+!J<(EC[@DY
MP*-QF++L+KM",LMP1GU5\%QZ9&E ;4.0C[$,K+>#[:\T$1$^/3.KT#?"%OG$
MM:!%/@A'F P+TE$_+GDBL29D?X7'])8]5HB7F2K>"&LNU6?:0F84-I)2(^*F
M1K,#$VRH<YU&\OJ!GF"-/=ZNTZ+*4350RRF*7@5,C"8VXSW#H=57'>[I)T_]
M=9I-;=VT.FU4^C2[5$XY<I@ Q13>%A=C*PM!0%LY S*=*):E@3!QH3(4@TBD
M2X$HE^LO4X1!YQ9CWO$L6HL<C^%#S+!9VCZAM^NL;F$"&(ZISZGYK]K\'1MY
MQ8G:6?[2^ Z\74D3D1ZY$4##Y/$^:@@O?JF2*S4KS$SLPT[/-B9\:?T/"(=@
MKW-X^&/@/B(TYD")P[H]@-6&<?-=]7'<\MT-,X8$*V!W/0Q*>O-<>,=S?:BZ
M:6ZQ^$,  F[X/S_\X^+CR<+^)63$IZAM)*]\MXE\]<-/%W3*0#:>9#3@O+!>
M"/73+6BU#NM%0%P'*0:" !@O'T'1U7S1BZPS MN*F(1.Q\CJ664FU3Y5(!T<
MMV07@C6SD-/KG-3<*TW:1 Q&*"D3HL:C3FQYXQQ340&:?_ #\BE$Q$BCCC\=
M@\;*O(,8YY#597BHR P27E:E'.BI1E!$,^)LGI,!F*:1,P/?8+;.BWXU\[DW
MLTH5C6-8_L#JOH;KC=&I LO^#033V"B4HD"&P3EHFN.MXR%^2<]YG:N_XP3M
MPA@TYBM<+W!=^+_(V%$.P)&]>2X/N! X<DXJ;":\5#L;6LQ0<G8P'+:F8P1*
MG*(7%$40+&^8)7%&4@+4CD1L ]0G$H#&8.:8OEU+=D7V$CP#_3OX=*( $NOR
M8!)8!&,0_("O5!O/BX$4$%7Z6<\"5 K/_M@2>A%S@"TTJV3C'[WM[J&X=[I'
M#/P [Y<;/\=E\0+H\[,R8LR\H/%D?!:#&V$"X,('$TQQ=;]WSCL$5_)0];5.
M@12C#,B$U!UX,CF5NMORV!=NQQ5J,/C!//6(]D\/ C(>(I84L/!@F&<3>MFP
M O#A_L5B1+U+LQL#R2<%]<F<&OIRK),I0;YFRM*1DTV"(04DS13 WV33,I[$
M?[,55<23BL\57\+VDR&HGMLX6*Z@E12XP%F0J"J-QG(LAG%>E(1SH[,/1"\Q
MK *^V!$Z0RL!UFMAA,IOPU_#/L*ZU\;7!>DB6-8T4:E_P)$*ZP3>>)<E;;.]
M'=I>;3/=O>WM/P91L-/;_O7/N2>0+T^NZ&U[5YR=G'N> =H%KGO@:U<(8\LP
M8=V'P=L_X=*T0F\G6==DLB*C'<KJ?-V,%69F=BAH"J::O0!6 4_;V=N&3^C\
MNF3R6.(2"WV?6 VN[/9J !6W7J#A[:QW5DRMHAB*AE@*KR$EGNR5,@8)B<Y'
M.*\H*TG9SHIRR^JE=47<2094E\>&1:^/30=4,T+/(4(1"$?E5FQE50''PO)!
M0-L@SM&,%5-9_%%H$2,;-M:4\Y2P[BLG%*$'_!%-IF? 8 R[,JP,_<UBH,%>
MD)&Z&Y[+BQ,B,> DH;.D\:XK?+URQGN6UWWV(=Z6$*E9R0O7HJ:;.S8!U\"A
M1FQ/U8S$0QX7GWV;)1@F@->*;Z$?Z="1<AJP#80>-3[K;C'-"((3?X,,N%_I
M=H<,4H>^8,00 1 AVK$UH.,3K0O/UR*83Z) L-X+7.T4Q"<@F1<,?^!*$L<(
M61F2HXTW&W-N@:]Y;ATC%N UG8"P H(EU<.8O/AXK%4P2K(^<$2D*5@E;,\
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
MK>"5O\HU\WK_W,2\+F_S=HUY]G:NGYGFZ=S>X]'W,@2T&Z"9OZD"]B7;55<
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
M*_NN[?DVS^M0VZZ9'_5@/NHZL>\ L0^RJI_HS:7VW>V5)VFLESV]7D[LIT=
M.V&WVV9*?TOWY=.CH>YVV#LZ:HFH):*ODF3AT=Y*A5GK);_>2_[T:&AO-SQ8
MT F(E/\7I8*]/;PG^98X7?4R"%3=WF)X\5WX^64,1D,<S7NX?_CII"J #G0>
MG%?3:9:7E 1^KO/+.-*K7[F'^[_@Q?%PQE_%*8"L?-D]O'9W?^J@G$WQ$"2S
MH-!)$F15#NN"):M\@":LRH-)-J@26-157(X#%0SC8:EUNC73\%N6!^45O&BV
M-8PO-7]WI?)<P5>!&JDX+<I@H(<Z*HL@3H.)*F$;*BD(*E=9_ADV68SC*?VM
M_(<%91:4XSB'/^FQV%8?_IEF5P#;J<Z'63[!L<#N?>58E<&H4OB7A@678QVH
MJ*Q4(G=E53FMRB ;TC9E7YU@G= AFZ$%]E4)T)H%.M7Y"/!39KD:Z6":P\(1
MG@ ! %DQU5Q\H"; EFAW):S10M\'%=P 'ZHA0B7',@5!32>X %A9O%N(QH5'
M'_2Z%+ 8EX#! )8VP9=U$5%[ >((EI1G$X+[ !"-O^(2X&Z%\W1"0C(\4T41
M+E4/^)E(#/#?HLIQD5OP1H?4,  F%8UQTY?Q '"A'(;Q^?\![,9X61)/8GPB
M+,9"I"H(7G#Y1,-R99N1'- BB/!H:_R]U+#!:95'8U7H #"F 6$6$+%F>O5!
MZ=$9;J*:XIMQ'\#@<;, H:Y I1, 8L<*2#KKEX"4^H,)9'3L@%\D,:X+GH1R
M!A^J N0A\#Q#M4N(PCVPLS;D_#/ A5D('S\$X7*:_HMX1+^*DS+HSP!W 0A9
MN.OT[ 201.RS &K0AA2 DO^"%^C_5#%-M//X#K$20Q ^D\D0?@D?A6%0S(I2
M3Z[E5SJ%O6F-9R6$[PN 1%BC:7J9/S1*5ITBG22P"QT&&="-NUCV@C<QI13!
M"*'ASAC269P-Z"1?94@-Q _EA&5)DEWAV<5C1F",_\8_\6H\Q 3PS!%* \2=
MX%T:Y!HNN\2[HD3%$P-JO/_6X")<$%7C;=G4$&FN)WHPXP6"HC0:PS=3%><A
M_#NL\GY<C E=\'#X(0'=@_\<.E2Z P.2(@NH73!@,D[Q< -:<8?^.KW31$)J
MZ6G"'];QI!P7R*6L9)+#T:\*(+X"J+ZO@3"09":3N"@ T C>.QXMPA<2'=!I
MC9.5&M:+Z,KPYV&<3UB2(EKMN9QH70JBA9B!NHGV%:B/P(&!:0+;+153= %7
M#ZF),1PBDL.C7!.B"R) <S@C8+?,0/W=U)9,)&#.O,@@V2*?&R*\YH;DL+)
M&.@)G5"4279KHAG,/\JQ<[P,X%'@#;!\.8$(B@+)5W\! V# >@8H$SJ!M\GC
M/& $SQ0H3+#L 1$& )HVP6_G7<= D8.8KGY.X*&C?8G'PB[W%EN6+X"):F 1
M-82$O.4IP'$*^E=)4A&0]@RY*V =8!,!O00UABI SY\#JP5=((TJU,+@9Q3N
M Q#Q$Z OE*+3*?P)ZR3.A=V]D>Z$'YF'P]. Z]'N(C"\@-,R'TV)K:N@GZ45
MGH(9O1I?V-? ("(-K ^._O#.0%#][%+7@+ ^Y_TC0-*H(<2IC)U@A,.P2EF:
MC.%;5+Y+'8U35,0 :H"!W*@DAAMOY3HAK !_J'0A7!YQP51+1PF H4BO029C
M#RZ?4%![5*X5LTN-G 2@C:8>2F+XCA?"=QH%BK(.#EZ!$H8L!,^]2$/ <$KR
M4Y$NFK!,!GH::F)?L T ,B"14?)B$%_^]"_XCT%-E,":T2(?"Q"M=8WP$\?$
M]O:/#V)#U]O3]W:=_2S8.^AYJZ;__I>_>.<BV(JR),M?&C^ MZLQFXP]<@F,
M]%8?0/]YBQC%2Y5<J5EA/%>'G9X-+[ZTO@2$0[#7.3S\,7 ?$1ISH)RH+UL>
MP,0!L97H8?F2[S)?D>_ ?)<5I)N\)+*"(XC/KCV5L%)FTX=!26_^^.QX3@PU
MGV]&6/PA #X]_)\?_G'Q\62Y[<ZZ6<UVEZ]^^.F"2!YXUPG\BN+*FNSJIUO0
M:AW6BX"X#NSGEQB5 S;KG!KG1+0Q]9&*IV+%L7&&*@B  [D/\ 10RJH(5<Z)
M9?=Y7'PNT)C+HICXD57(/+TK. =ABLRCM_U*,I?>F3?0U]U7+,,ZP>TYY56<
M)"1MXK0BYP%S.[8Y)RC+M+4C?#,"KJPQM0>6$BMU-0$R=!GSK-IOX%FZ9NWQ
M\H7#.L_?!>>DZ9SK$4\?C]?'"88^ ?CU,ZNL=U"KV0L3%W0H" ]XBN 6?<G6
M%=DQ_*/F@R#-V5)WCD*@ZFB,3I"?2=,D.+&G!%M+;/5!0QYXQ\Y<_3X#TS0,
M+L T56'P[SC]G,$_QP)GO/T"K@!ZF5_$DATM6-*%+A)X^L])I?'PDR>S2H$M
MP,D\EU-/AT< D(%Z#%H$*-PT:)[,TEQ A7]8H/&NT").8"DI<4>!/&DZ(#='
MM9648] FAG$R"<[^<%[$D/5CU!:K!#0-]N,0-XNR MYCK,42@ ,K20BK< ]8
M\;AN,30(P 6:)N<UCR<O%WY%0VSDK<%;@%E@I :3N +322=)E2-C85T(=&-0
M\,'4A]]&P'#QWP),A91XC]DKL&'G!*#U\U*!GUT"3T+^IH?#.(H!#V@8@GV3
M!6E6HH,!-@G'3 P7@3!YVPBA.9M A*5\1HX+,"KM/;Z+UZ*'R4\98@.$ C3P
MKR+28.>CA(1'@D& "J,NC(W'($=/ 3]\.8TXV[ZO([S&Q&(25$=+/4)3;1"R
M;ZR:@NFFU03.9#(SZZZ[,=$O0!L1'X5Y1HR+>.><<J'G(N$3+@<?=B#P-T?%
MN!+@!N0)58YB@]P;J;XB)8%@Y)&O'">%T@5$$=($8B\58YG?YTR7];%&@#^
MM(WUI6<=?]:S&EL;DGUH4?TU_#+%'CGZ)6V?@DE6<>9 &BC-B9H6^J7Y\&H%
ML1V;F><T2])>"7JXB*U$S;*J?#F,O^C!(H!ZBIW1QEGTU=/AY#*$^ \O_!^^
M:A.-6"4M#Y9_3=AVNW,X%V_\YS^.]@^.7C4#H8V@Y)P:<M]%WU+E)L> "^K-
M11I;&FEIA+Q7' YFAUX"3"EW3 5]ES:L ^*!(V"H^3._RM&KA:(0-+,*UM.2
M6TMNU[(DHBL3711UR-JTQO9D7UM+2RTM74-+J9I@F M=[IR$X+E>D:Y8P_3]
MV"Y@;:T+OK7,$DU.DI;F6IJ[CN8N%5CL6[ &QZP<+8F-Q $R$9(NH-U25DM9
M-U%6P)0UU KL;X^RRG%6:..2^:SO;!IJ5<3"(<=:38GC&>)LZ;*ERVOHTDN[
M$OZ&WHLLI7"&H4]*D*/4";JD"(TAH<G;I4#R1I\I=IT'_0KCG2W5M51W#=7U
M<W+W@VUIC(1T%HRR;("I397D?P"'1.<T)GZ8[$C.38B9!MDA9C*Z,(P%GS'O
M!]V-?95^+C@%+&7ET&3DL$]ZSE7=GQ$=(\PK\HA*'E1+R2TE7T/)-L;*L>J,
M$NLXGV,0%V4>]RLBYFB,>1M)\0I_6B.2VFXI:LTHBOB<+N"?$I/3IU.M<IM*
M>C?%L+.<T!;GI!"#L=DPZQ!CD:2^>#+1 \J_&U:H.U/V12WX@J$RS]-I K<#
M/=7I@'R;C2N,+Q2C;UMZB*G+&+#QXBTN"XN3K@CD="=%:>G/B8I32LK#U)H\
M \G"L@V]%RY:.P846Z>8?0.E8_!-=>Y!$;1!=I5* ,_E6'!>AXLOD;BC@.#R
MC=J]\49(3Z,\MF(<##'AD2F)\Y6+,2:LRD;MYO#Z!4OD/$^4KS$EV %VRXH3
MV@@GPRH=W#7=5DHJ.+\S'<#.<ZJG&"J*A&.E0!1I].>@1U'B:90ZA_F2Q&M!
ME,/=?F2>8ODU<B'5UCZ_?C]EQ/1A?<.8Z>J$GF,R_H($,+:%91SSCS4A0$N!
MI#57L.*B&%8<IJT_@VI%,J.'P,]I=DEQT7 9U92U "-%@43@6+KT@L%!H5#/
MH116%8UYF1)+++P" 40BB)=\YD6SE^G_XOQ +JQSB7K[KA/C!C:&+I/M*$,B
MH=UF0))Y/7WHSD8O;<0<8@;I%2:ROC_Y>(J&R'N$!G"A :"OH!3Q<WG$,TFA
M@BO/)6WJ.6_B"C.E84F()4\7E!.\1; V1"?GEQ-S:AD7VHE^N-I+NA5JE7ND
M0L?B K/4=8Y'*324&4NR., P1FX94^*U)7N%*FHD2;K!L37E)#NM1IF*]6N^
M4W)*@$(F?-:IBFD!)Z);KRC%E4I,2-VFL^\01V"P50-T>$S"626![T:NCTXO
M8W@9E2QL9"+K3IO(VB:RKELBZWVS##_IJ,IS9$BGS&K7,=D0!<C<0DVA#]5&
M8G0(][2%LB\MD,_8WXECI16PJXQ8DHA]9O$QH+=D%0&4#.TX%::&H>=!B3K!
M1AWFE6F7XIMDD3!I?"_E-'':$NLS1BB3G/1UI4M=<-H?9KM)80?H3B3K/;WE
M@BH,_!RP2Y31R%4U5FM0UMC?&M/@D)U/0:2P"//?AF5KG(A%@3.N1,(B-C5E
M/=&H2$9K)GV6MQH/8SV0G+P)BQOX&Y3%00&W8T(<E9",M2>_1&:-0'C"DF<^
MO_>+EF[6!@WT\,Z0-!E_!X ? @;&8[!N%="(I8"(,G@Y_DRYUB-7;@AJ3"[*
M&7V$38_C1 L2IQEL#Q\ NCN6R9$R??L%8@4?8M$<=EA+JJ]"U+GI4T :)H(
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
MSR7#;+Z.R2M78E*-EUA3\^>C<1PZU(UN_D@Y>^RG8)&MP2*%.!1%($57!>9
M7FOT>OFL@]6$R33)9EH[TLJ5R^5!;^*E;G"699'I.CE;'DF*.^=!4_[_F,*&
M(R"L>@RNSF.=2D_\3H0")6<[SYYWCOQ _K%+=',,&M@MZ@6<1LV[&5R_H&5O
M=4OS](^&B\SXHETTI3%C] H=587&FH2P5MCC(MI84N+;)GR,QZ;#/]DNWL#7
M6^8/>-Y*%)?"6.;R'WQYUA!$R!_\450XN#;"?F?66__KV3L7#!&QQ8U9<T]#
MEOPJ0X$!W&6H<((.+Y;G5)39"3Z L9)15N1"B=M@9[;A:UF3\8V+%L\A)]T"
MC#<,VOOJEJ>39&2JZ-1$0<[KSSV10TGJI[@YFNZ-EG^NE'^*_O")8AI%+$+M
M]GP4+M'8?;JA80MMYK9CLF.($<[KN"1MWC;*Y$3E**FH(R=>03%*)&DJ+ %M
MFB.#[,*ZU/9<8C8@G./2U2H;TT@4?5O\8MTA%\3P)QB^E19(<K>L0+B,L6V7
M7%,[R<)/,>"$;&)<37 *N?0%\/)R6"] XD>V;CPMXUA<)D;M<&%O5DL,KS3]
MUX$;767P0'3G9U,V&'2)99QH8V(,8"9Q!/J5.\7'A6U!9PIJ^,4ANGH4![38
M1 '3(>;>GS*0@HR(DB0<YC5C(8]!7:Y2CLA$^(B!HOJW6CY,07ZEQ/$K4R3$
M^:"%D\#:;P^/#0\R7(W$CN&2H28I@U6+ $G-W<*-B69E>)6BI1M1X*,?HTV<
M X]A^\.*O3G?(9=,$DGWLTIRWXR,-RFY[DEIO<$?)2RI2R^O"K."OI@>L\7G
MV(3V,+8,@,/6$/9IPG1K"0_T?A VS,RC##-6;0:R7,VTK>()P1!]#?5E@VRF
M)JW]/,.7<NR8[%8ORN[*J08YM4DWW>7Q'+ N$T\J,F<)\6X*0KV>[^.-"V8!
M2<NT974BP!="V_- ,N+0Y(^GE!M2<P6P)>BV302/;O"4@[2F)HW2M?$KE,16
MXQI*+B)K&AP^);>.A),):PHN0H'9W;=;@UWB<Z@)++6[JN'/NXH90.X1(B5'
M*=<GO<Q!C(0UEN)YP$3!Q/-FG!+S_BGCF*H[93V?V&?.+E+%/.)-(/KT["2T
M#B';;21T6=5A\)%R_C\PP>/H <K/H#$*MA-A)SAOU#[N=R2O)D,'Y[E.8SC9
MGG&/3SNMH9\R:^U7MOS.))]@#%YS#3=Y;$8I^M7F*(A"2$PK0V 8@VPB>:.L
MN @ \Q&76"2)&8$!S #18CF6I"7VM3F9)7E"8V*U3K/R#S_R:YL1FOD9H6.7
M$2K/]3,WV<TA^:2<:MKP6C0O#IM98:8Z1_PW2*"@>$0LL/D>54K&OB3]F?;-
MQM,V$'&J2I=9'$EZB?A?V(4UK4H*">#SV18&F&?405LV9VN*Y,2:7-*&?]2;
MD8(N-C+]T1J@AUB/'IPO4TW4M J<AH'%G4%N-)H$:=,X$R*X_F]M"M1KND(S
M;D+#OOJQR?)1DB$"]PQH92Z'6A*K"7[E&#U*IK]%1%(TS>"T(Z-!)U^]<8K*
MRY2<_G7&;_-.7+J54YN<*V+!M!7.$6CT%;+D(:$%4_IJAHT8S_O=NQQ0>R))
M$+<QI6&NN,6"4>+@W11_9KYH0=[4\C<M[+[?AMW;L/L]P^X/8]%NMP;MB>7U
MSA]^&WN6<@TSS."DMB:F,"\N:I)DR/4B'"5GUC;%X(R-]=?<TFHX5'%N%2XI
M=@S%6BB,9NYL*,].L#VX7,-"#%^R \57 GRET5<$; .$>1>C9U=;6<*SAVGN
M0JD^ZW&6#(S\<4GZ-!QLL>.<)QH94]F\<AZ@=>^HL0.<G>N9VU*K1,^@6@)V
M=YI$P=^.S]\<_R^?%4P-WMO?WGLVY"S7-V*=OJ:;/VE)+_.[TP2H0;+F@P/<
M>**#+XAM$YB11KLI#$S;/M+YV-ZFCVKD=;1">Z7A=9OS-U=3!*\A&52C*5G
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
M/;J$ES''LJ?[ -@8Z3A<\A";.4N+PP#\:@MZ('%IW^8>V/WQNNU0#P +MV:
M8WYY-S[-[9E;^C7P='M([-\)$/:U6;[@K=<"Z(!L%=K9GV-L(H'TR^7LE'KB
M8=J\F\&.BT%0;+%7T<' );1?LR@I *(7N!2+0E-615PTH@=@+6#;;3+Y;=L+
MF@=G. 4"D(MN2JK>40D@=H!)$S%9;+#(=+VZ)O*8!ZZH7-8-G775135O7_BS
M:8BCTA056A- 480([,O([=</2=!;.*DO<-09S@T:-+%&068NAQV>*PP,GV%#
MRT@\3E?.&S]VO1\Y002M,,H,8;QV]YGV4'<1FX8*R]<*37XZQ@(TA3?C"!%I
M.I,OJ%:52I!K,>F-!,%U>+@T1O+J<+I_(]IV?GQEEN!NV_9N,UEWF*UA;>6E
MSSOZ<9.S#4P^Q@FEB$>SX/0+-GL=Z;5*.C"KC,PJM:S2KU&SBD%L_&O8BZJ9
M-SJWX09-?[I)S7*5L0TU"WXX$"T.E3JCQ)SKLDPDO^]<2;?T,S4S_E"S( /X
MA0L*GN%KG]OT5O=0_GU]> [#M30CJ3[I%';3CRD[)$LOT1-O?,>F+$&<GR#[
M:)YJO8N:/\6=$RK%M@F=RV#*T$1>D*/GEK,K27QOF?(]DQ%K*8<L&,7>Y@Y&
MNBZYGY 1R7;E0W*&%J7-!&RLUT0G;"]H+^E6E&.%O4_,#MS/(3H$Q4K'BET,
M\WC<+P$[MW1,6'1=.WW0<T=+$F7NM<,]/_[Y=#,#R[TVL-P&EC<XL&P];W@$
ML962HGQA;KE.AW>.%ZDZR^=J,C;"%C47Y2;Z=@A(?5[=,7(&!2SI$_F5S%6>
MQ+!C#AJ"YX3Y6^%))9=BY]7XD!2R$1'4Z#*C:.YLFZXO,D$(YQ$7C7*$9O)I
M1D.Z$^/HG8..X;O(!U$>1+FF;%#09+EE&V>I>K$_K!>#&U(R<7F[L:M,;]2A
MR!K5=6F%S%.5>P0GI3E1);YAQ]N]T6:5]%#X].&UGTV.LM XPH9-!6=!5CS*
M(10!-0DS[Q;\*!V^CT(I!B(R]%OM&<S5* DA83Q8_K I\86?^''Y.<JI$Y?0
MT?_/WKLVMVUDZ\+?SZ] 99)=]BZ(X5VD/7NJ%-E.-)/$/I*3G/U^F0+))HD8
M!#BX2&9^_;LNW8T&")*Z4"9(]ZFS,S))-/JRUNIGW;%9'+GA2_32;W <O#3;
M% C)^%4I'J-X[FLTDN0S,)R'FTC)U=],Q CG/!6J  :;1?B^A>O7A Y8;\_\
M58[Q*! ?'>-$"WC.G-Q>/M[*Z4H7"B*9V!]KDN"<#TJ/C[R0NZQ)+(,E9WTA
M[68 ?A2/$R Z4]YB?NR%V2[F%G6^A*&P'^N!7M8'/KXW"S?J$E)$PN4>:28=
MJWYV-W[>/PP/YZK07D<3-5#S6-:S6)>"BM)#YPTEP1BQZD3)-!G]\E^C!DV4
MY=U$!%A@3H$TZ1"5W;.!"F1)W35Z*. WSH$-93$9DCQ\NB.$/1P]DZ7\#\[3
M,2$G.[6P&LLM%K6DV9+MF#)&I'%KY(6?=+9RS '[*OXEX3WTY2*VSY5X8:)+
MQ=YOCK4B-]V\AJJI81&U>U-;3EUYUZ==ZASNS/ME"M#^+WSP1Q%F("?H3N'R
M;+CY9$'[7>3]70H=NF!CJ0(AU0M4A7I)2** ^"S/C:J1KK18D1$(:Z?IA],
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
MO[A[Z413YUK,LH#4(.?F[/^]=.[\= X_2^=PWN-H*? W>7VV.Q$+9RZ""?P
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
MW(VEQI:JF%)]B.T!BE^E[JNX>B)&%&PK+[['7DN%R$KE%E'O0Y*DG64*4"T
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
M_-9'<SQ?R+%H-H:<;=QJ=-;2C>5TN#NH";G7T,/]7EV%!N"'42KXJ@:M&["
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
M]V@HJ@<C6&M@^2)J[+%%L34&UOFHV\.V.SSV?%]K"MS==7R?+&TM@3:BS]H
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
M\Q$JN4SH)P3HDDF 0%5V(%-!&0VR"-,P\L&_)15AA3K*"GF#:)WK&D;1?H]
M+"\ \)V[FY^B8GFCD03%JB_96%7K5<Y)5V_"0<IG[%@YM9)T9<?%ES.#4+D4
MPT\]O]/O%TA.QN+JE(-K/AKZ!K,$<07#(HR]$?@NL>"PI4I;\ 0L-HO57PG2
M%.]0*RT+;R?[GJ3;Z@*F"]<EQ;.6[ 0^-J9A J<+@2&"!U),UO)L>D<V/PJE
M-V,J AUA]&UQC!XU,"$Z"X94'KHAY)8$@>X)E(8\IIC[@B*3MY"&MG_8LWIR
MKY>&EM]L=6[:VK(T=+KMFP3HP:5!=K!V@<6V"RRZP&*- XLWW5M%_;*R^0T7
MG?B'S;9- 8%U!5B(D"/SOO5ALM!;+W32+5%B=3LFN=BW4D277M(Z[-N,!TS-
MISZ][I7TBK:E/SFITW18*7Q1^R,<TJ3FNYGNW4+A4X]JCPY&X3A .H042?WA
M=^A$?+ ?1?X-*]!D(VI%UUPI_Z1_9,%WP>IMJM"]Q]6\*S:.C&.854[$K*ER
MJCC6:="-<92"]?P?F-Z"6?EA?CU514/I-,5?=@]5!?$J88G+CEI)['S&3&E8
MZ(R.&+F#.XZZ>:E!K7BO&=2*$7>.%2"-CB;(P11>'XTCZ8LFNZ]"[]2O*AP&
M.>?]%H66TJVS+!ER8BPW.U!H^1WA.A)D?* -V@TDMQ <+B-7,+URFK8UI@&"
M_ECUBHH2YR0-\0HT+;@2?4QB6B>SE1+9U1KM'C+;W2 >:G%7O_36JXM<A^LU
M LYJV:9$_P-%)TX\!/41HP1IH!!3HES%08[G0D>8I!L5'10R"%7)6#+@1\$V
MK5L^ZDH%>RI!(AOKO):%K8X<4%9OJ\]!>)H;EX1?@]<\5*V,P_  06 X&$&L
M%I9B:[]^^A<2R.CDQR='UDWSC-?B/(=;(YDEWGMP]O/(>PG&,CFS23J7$B2=
M>G/^_N6IR?0,.$4WX*I#S"I5MC@?_59'P$RF1D+0DC28;F!C):!F2F,&L8&7
M)=TZSU1G38(5.7^#U<P*S%S'#@HEB.B>70C[WE!F%BX%Q.8Y_(8P7\ZF;G+&
MI%Y2"U"BOI(@9DK_M5JWFJ:B=\"5Q-*9@&200-&KA*%\*<XW+^5HH=K.EKV=
M1]9VJD%S"K@B?N,X=3@J3@16$Q[6P@"T];1C<ZL_$Y)$/3J4,AZ?SQ,.O/-P
MON  '>D6=6&I<;39KYR%RZ\WZ[C0")376BF_R ]BAM@[M.57NW2J^:.*@N+C
MVBL?URX\KG5L*'R?2=<Y8=^83Y$( [^U(FWK]/SLC9IF9VF:ZR;$BX[(B1E!
MU\)'GLG*ZIL?7'$)%H"D%%>;WEY$3=>,HKP./(I.8>?;%M'QW4:QUD9'3\-:
MB4T[@V=IG"/F36Y]Q92O9/-+6U \F4\.[5BUK7MH7K1Z'Y)9GN(1425'7.K-
M?4PQ.',6#[5:Y0\7$L ^))=ZF5NLA2R=7UBZ@AJ2]Z)FB<W9-RKD2:M="+1C
M^!,[(7-2BY@5(.$Z]JX8]@HCZO"(M(A@F';-Z.@BQS%PBB-?"$;744V\>7"/
MKP$[M:QH+URCTV,=5&5VEDQJR01!7A,)"&9+VF*#\"[4550+T;3*+6)3(,-\
MSJ5R&Y-@.H</X5TUM80#E&/SIT*,(@OC"/9-R 6ERN1#LI!R5? BPNA2NC+;
M28EEC+!=H-_546,9JR\U\Z;L!WO84>V5?V,%D%@.-*B"<0QO^CA<)"A9G#_2
MJ]KVM<IF'5Y0W<(-A3MX9*XH)>8J]%I2I)8&4)7A%C^.R8LUEMNRU79[DXVB
MV2JT2RA"J]GTWO\Y]T[^RF>!]ULRSO\=Z3$K>\Q8>KY]DJU8*#/VPE'.9^HZ
M'N37A(AX5FH 3=<.@EJ/P(^^#ZXMRH5*;?MY'L_";\C]E%RBZP)R?MXXP3BO
M=ZICG;W63Q(%MJ.>EK@\Z=O'^Q:R\;VV/F^9?I:&X0V))0/RJ@YM1<#?>SW%
M#4D*&R2\(&4]?*3T\!,XL\6 "ZMAW84;8XL1TXEH]:[2N.U+1#-Z2@EC("$
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
MK']Q*FNT/*M*J=EGTL8D7\BH*B//6 J#74*G5,N/77"G@? ?%)K29RAMR.
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
MU 5X&H#87>M-/HE2A,P*@*^-TWX &V'%0!&YA,-S3MAY$79>GJJ/[2+0]:'
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
MZA0%9&#,YM+>P)B-)U_E8,Q\!)@!,HW+VCB8:C0<U9L=#)!I..3I%88!,FM
MY%H F;D(L+&) *N_65Y7][E=IR@@ YTTE_8&.FD\^2H'G>@18 ^V(NIG*C;5
M1&Z*6]RU^X.CH_?E8@<#G!@.>7J%88"3&A"Y%L!)%@%F4),&6.2U])RQ#MZP
M1H0VJ$ES:6]0D\:3KW*H23[@Q. FQD)NG%?<GAQ]$RH7.QC<Q'#(TRL,@YO4
M@,BUP$UR 2<3 YW4WRROI?O<L8?=H_=>;*J98FA?>R$WT$FIR5<YZ$0/.'FP
M%5$_4[&I)G)3W.*.W1O7O*", 4X,ASR]PC# 20V(7 O@) LX,:A) RSRFGK.
M_7&=@@X,:M)<VAO4I/'DJQQJD@\X,;B)L9";YQ4/:^X5&]S$<,C3*PR#F]2
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
MFPY-#3#A:^F8C_L&DFDFY8V?;B"91I.Z<I",'NQK6F8;<[IA#O>DWZTW,QA
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
M6K#LGLMKG XZ7CKL<JH16#,!BH7&,865LU9"T07',0V<<(Y_9 ->!.A:W,
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
M!X"1.9>DYJE/\^AEJCZ%X43#B8=Q(ODN.>4(G]=!1#5?/# CYJ=8\^(&:_F
M"T6 -U:(P4)""ZHBY/K66[ VN.)"O]U'D^.SN$P\\K?XZXO3_U4%.Y9IP0G@
M8_[U;!8;?C7\NH=?L41!$D6J>)0L 4 Z4LR+#5]2L9F*)$8W^[;AO@=IRY7S
M!^S$5'Z+?%]9;,>9@U?HS&ZR:G$Q^G\>5_D)/-ZO<5NG4AB*=6$.8AVEM9U
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
MZKLIVE)I0Z")EZS6F.6$52T0U,>:\YXR1O#[8/&"$@0?27,"";K\<.EX;.K
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
MW8-6$[:^RT2X86!=D*K>7M;N@Y=5F2%J22.[0(_\J=WJI>*/4X O^NJ+<BN
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
MWX<M8<8/.WO-Y6B 7L7/53UI,?*7#BZT;:#'Y<_2'K+=],WY!,P-NR8]XLE
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
M9N89(GC>NTH$<"WF-)9384 KF;?#(!U.=E< A*6+50GU%-,GF7Q.MQT12$W
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
MT)0NG)01;E]F"5LP[G[JC]6"%]6@H*SX6&QZN.;(2B1[&*X4O*V'L P2M7!
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
M+PMS&X(7H3 A"Y;+,LDJMF[%R^V>,ADAK7%XKSS1- S%1F03V?;#B"^+3+=
MQUJW;</'7+*8WF.O.A>JV[IH31;>-[?^LV< ="$ZBL'-,"ZI=K5;'@VE-;Z+
MK!I:R5E2E/&2W"UW+-P<QXW!AS(@[%@V\%97&CK0TT;>:("5ZCQT3+A%6AJ;
MJ<YF\ _CL\W*;(K\:L87;(X%<PZX Y2]XQG#'X:3))NRBT1SM7^[*K-4TGU7
M,%20CIJLP,*FFV,-CPB*DYB)%U'@/=\Y>!FEB_C35<-4UA&&>:AI$H9=0 XD
M3=)!KR>V>G-WEXF".\'SXHI+P<B9A&V&O7JRNPNJM!Q1%MP]DN,*O/EYH6E
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
MN,?BIAY\4W(F)6?@FJ=)-8^>/?F3:K  8.Y06"QJE;MF^._@K6UJ&C<"MH:
M/=G]DYK]72;1(^]CF"(+;PF8NS3!R^XJW5*L5R">RM:D;I \GFZ&&6=AM;60
MZV$K\0 '.Q@WA/P/0-#TFJ:957J5Q(TI&A?/8;0=("!VK%9Q5!:+9,(<A*7+
M7'/(EYPS<IE'[ @;GF#88!-"T*1]Y\/L$_C!<!S).Q.WC1NQ$[*_%O00^^5$
MV%57(#E5)7V]Y^[+-+K$8[NHMG6+&K%WW,[%+1E\"<6)L-%VD:.7QZ%G$6-C
MS$N5S.K/^RISO,*U/,%@XA1-#A8,O-^3DC'4P5.4^;#W/FAM<!X#IYKX2+G!
M/ (GDZ#XUB?,*1SAZR3TG!@8*)T(HM<-1$7L46&X2DO,>297S?.\QH/P/XB9
M2"N+K*;)3;+/*0-OL/FWMY2\UTYH&ENZ/*[)E[*64?5 4\1/-BGB38JX;RGB
M>UPV1Y3+=&&V)1&0/\MYEB (52TNBX$4[HNH);AVL:Y$/RS3&)K>:\"[%%)S
MZQ7_*J\TF50%O57( !$%CJSY+MH=3.^J*$;L4#O-6N<#<,08Y +K@AD?CM1*
MD2L;./CE03(A &)UG:;SZ!%?!J(66T:1>W\S%M%&Z''4-)MR7#A#%1X\^Z9
M^9F 186CAOODFIC,B!/P%@RO;/A9_/V*E@#'.LG@]Z-F0(LNE5NU)N8" 20P
MXRR5PLB=Z!#&=B6K,P6#C:+=$G*7V4@.UL6GT^$$KW5[4<BF#:24M7M0-"!9
M2<T:6SO(5C-UF8KAC;5%[Z;<GN.GAW%<T5U7=ER&!<5E)O+HG>AU7>*L8ZD9
MN$U='(_2#9@6R\;@"M"DN;,EJ/BK!<T%=UAH.V8P/@P;>> I+:!B<&-%_?*G
M,!R2=V*(.U=[2XL/P4#"<Q!+F1RL5T7YRB!*0P?R&B:9$EJB/8VB-"._WS&Q
M<BHLP9D<%6('1GLOA8UATZO32FA&F-8S&?J@17U)U"KU)#X0)1T55"X%+QJU
M;6#P5>]A%"W+ZU1T9CLTU108#._1&.#+X',IP)R63<?!^X6?)..S\>HZ)URC
MQJRI9@NS8X&=)Q 8KNCPA=]I.L4T6S)QU2PN$WTG1MDGL-O9ZX6B@DC)TDO@
M$90RJHH.X$GE9\>G("L[8L(4M-=\#^.@J?3<S\*77C4PZD+(D%9#<&2]US,N
M$*!.4>C; J^@Y*I,9M>H3CU"TCQ>9QI3-6-!H>P@?\#)!5[SK)%F"N/FBZZ"
MR7#)>=_#)4;J'@K-+XD%&RR5V_G84H*;S9%OW[%47-?='!ON@T@1ED5454 _
MH-(D:)F4L@*X834A%,)-3!IY8UVG41L'UQ! A"C@6887%Q@^C^KRBD5M.6(A
M<3AP5KV,/6 ?.23SA;/".K!+ @R\1N[I?-FY:X$\6$PJ13],E.;CCZ\F<9F<
MQFKKH[ +=4LE$656R#>PQ>+<1E@9H4:9)3<=U<<(,[V< &!!_SK!MEBP0+H#
M'=6!&.N4>"/I09HLFDW2T166972*?SO^- J(=5J#)*T0;*&C15!SBR(@>_M/
M7%Q1 H,N9[CR#2-;*EI=(]5(J0^:7V,VK+MPG[3",CE:JSJ&N0^:V[43?= Z
M[DHTVR9-LXFB2W-3+B1IR@P7J[H.&720G4\+YL*01 [\+MB]!9, KBVY&P;5
MC43>(9$^F'P/^?1R*;9-Z*&-6P_ ;W$T0JZ\4!LKXK(ATZ[Q!MG.65DU7$$;
M;&=GI.G_Q)UY@1 W14Q#/3HHF_SG'_.<$$8H=#E(BCM,2'S%-8PA98EOEAV.
M)9?$5185AUT]:QG[7PY#PD Q>KO/LFJPCYTTL8^6#<7UPT',TY7-,X:D U2U
MXG@;F WD#Y!W_3'>B3/=)9S6IL="7SX;94F9I:9-D:_%T69P@1[LSC=2<TZL
M52:L&>\F4P]C9%QU)7GJ'60R2Q*I<B0>:?+2L8]H9Z6QD;KV]*2AD$8:@[#5
M(_]%_A@2U1#CQ3;,F &06YVE!2*1QHM72WRM$H-FN77K:3P^H1<H[ 8*(8<.
M[]\@"DE1"!"^29;6N H<T&TH#UI<RKFPV&V+$FEREB8#L&UC\=(7XJGG 06#
MH!H$@-U14M=QNRLU=!0Z^Q*8C[G_.X)@74 \?*)A,3!1@U2M DS3JY/^MO$'
MPGO2/[1:J"16@5)XU@PJ1KA:?,%BZ5(KCB7-L'??072]$YUU%CZL0\?FR//7
M&9=Z'4A9[NJ,CC2N13@'&+@&+KNK,9IK$KO@,0OLM8#H%1K?"H2G7SB6HOO7
MV&@?RE3-UHR#:>U:$$YE^KD0\DR!B^R&A=Z"GQ\F1.'I!J*P@2@\8(C"Z=C&
M=)<<>TI\JEW+]K,46+0=5_REYP)MIIG88*.\66>.I=) <[>>RSF#0VQH7WL+
MR* Q94O9@WSNL@ME>E.$AHJ.?V<)?6+#$N(LV#U)R);I6EPJQ6A(7B-84J^+
M\5U*C;V4.\]5[?:_)%-9N9<*9+/F16VQAG7KJS;0&B(H(=]24BFTU(Z+5Y8L
MXV&I5@SN;I(RP@J$:><[+#YQ&RV;ME(\&6.Z^>:[A4'=FZ!?*]/\:M64$ ^
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
MJCSZH$]J_\J^/@(SSQ]2/UF:X7Z1!N'+\^)SA2%!E3;293QL:]37Y]N3^^U
M[F;.()*L;B.VJ# KL8/H,HAZG+BC=3OJC9>"S)"51?3$%>U1.GX).!ZZ4ZKC
M0=4-_3. G#>84$74]AE;05%7>X7(/-0/GB!SM=K(D7(T$R!YANZ.-(W'IF74
M3C\A*BW;'Z%X@;?L=AT-$7Q!)L<U4G@,0GKXE"-^ ]PU/UX\%<7_&KVW"KMM
M6C.QS6*AG/8E0%HK@*S#$1VQ# &R;W9+5'#37FNS'ZG;QQYN20:ALFS.CYRP
M<2N4-JIK(KA9<8V=1:#P =8B4$\>B4EMG;P.M_H86EPD^>X-QN8>A1ZOHH*"
M)-V]GLPV $@AV)%$NV1:\T^T;!3A3%2LL,R?7T^1:B[17?65THB* J/4QTDE
MZF>QWJ[_PMU!2$XDQH=<LC8G,1T%FVBHUF.I($=3H=$XWH0K[B_9W.[O#IUZ
M?[2V)1(G)$@NS0Y#4,$%TSHRFB.P1JPUAE:"Q=9QB1DD]XAY_>RZF$CP[,3@
M%_6S453JQ[]RKS-N(FA%[L=7",7U$B\J[JA"P$^1%RG0A'4H5L3?X5&;.IQ*
M2YSO$Q=J] Y1!+P5IR+NAZ?MKX.+UK)9M#:+UGYJ4= N=8QCU-8;LXQ(V]@K
M!:+SJ CUD2LKQ76=]%2_2^A%#!1WD5E:@4^&%]_@ [=CVS&*[R#Q@4^&7KO5
M@ ,I/UC>#/%7VT'4.\O']5[N.L_>O.;77]E2'<!]QI" Q/UND)=(?\+62UJ#
M2]F)Y1TI4W\T- \W.%M9+O@;D6X3.Z!B.?:$7,;%.18PD;N6"E;>$4>?K8R(
MQ(SX53 /[G3BK*MJKQD_%RV)S[17NDPT%2 RL3&X7J_,X--0'2SB5W^-0+6,
M5.**>AQW(,%Z<KGX32C\2";HI;J8]1X:HS ;@$03L[?1+_*R) 8&/J41$Q*)
M3Q\1)MD9X0(D!+7L?_,V4B>,8QDU6OI&$[[K&50!,!,!<T@(J$0/!$L&%+MC
MHP5(M(JH:*0**,G<GF1%O95+"ZS<>Z1J,P$=M!@.SI$"M(0C58];[T%;"Y/J
M*HX2\3##]HW)"-V2$0VZZ ''!E.P<I"1.XX""P&>=[8$?&\I?!+FS:%8YR44
MPURUX:BN?/?$TW*(!KNR$85Y/>5];H#U2??@LGG'>.*C.M>_"N2AUN-_<4-O
M"=$ROZB]B,[&S&,U33>Z@#_0</_U/'"W$IG=83#VZ=#K^E'?'XE]*NZZ<9<X
M#,N]<)\[C< FMO/N&&P6=LW"KFMAU]>-&$U &55L1/X29&!'PWK7!7E2LA,_
MQJ97(O3CMT:K,42B/SV]U!LGETA4)3P:]YGP!B261EB"&G7%E0KQ[WDT_O0W
M\?C,X/E?=+8L_Z[W<),U\">>_[D+5]C3Q1>)!^$?WU2*$?UW.03T^:FQK[WW
MG<35Z)6R]T_P#_5W,<]'LT\/X]AMQ X&NIVCB@/(, [R#-A/3< 0.ZMW.H?V
MKTN6]B]&7%Q)A<>FRZ>7&JPEY.)H?CQ"T=Q)G4'L?T B.B$MWY;N00S@N-P[
MZF"$EG!T-'K11KW\28@FZKFV:M08M6;$,IDHS)$NN(BG$^!6/8^^D'O;!M=2
M7D!2%9DEG$2YYTL)H/X3S6:(KNGQ@5];6("V4?;\J#J5I?/EO2HQC.?62I94
M8"5#HT6KH/&2V--T'NB::+)<3]!E79+$S:HK45&ZI4JG6+^XJ'0ZJEJNU)1:
ML:)4U>N&VNIH BOM6>V5F%*+_;[B*WQR:GET:GEVBAQ^#U@+'N\:IX^L##2$
M[%B='6%'(BFST9&;S**J^ICJP-\5/QS ;U]YD5^B"@+'!E35IDX#&[@49JI4
M'";%#C5X?U&J G&,&<L<@16-(DO4#^.R:WTM73Y1PBTJ:"])JJ'*1Y0:[1%[
M#'#0=V7&/WJCG=Q.TL$>WT+Z%M!2-3TP]7OJ G?S&CLZ:K&-7.9[1;4'%VKF
MLE!S%FI^3Z@9\JA\;(PR1T)\&-*;I<>)DE&0-99E!8T7)0'U9A$UD:%[K"'*
MC&5R*4+KN%@OJ?6RVCFM%-L:R\D\O]WN2%L04RD]&MY;(UQ24;L5<MK]%DJZ
MZ1'G)N3D)NEL"?4I(YX(C9OU!G&=W_*KN5B]1<E@H['C+4#D>89L O<07I4!
MQL.\L2^2E/'AM:/R1]+%3\=-D.,&YNEJ=NYI'9O\(=&P_-%?0F ,7,CE^HO5
M7Z:D629 X2@W\MKB)DHD< 7/AA9"6<1QX#&P(;QT?SDG+HB:,N-0%=:[(2VM
MTHW)=2Z;HL8#U*/0]@ST(-T!:C:;'1E18B)NF'\$12I9$2JXJ(83A0[Q[/-$
M] .52*(&S'B7V&I!H4ZH-_M]-,H(OFR\'(#^Y$ZPGYI .ZY11;/(/!_/0S$A
M>Z<PKT<Z?#RE&NOGY+5+O^[,1QH J40%P8ZF)OV=KFUR$BUS%J/I!=V$NK8D
M:;JEBUK/L#A#M&B.6;8L2+*M8J-5@0IF0ZDJQ6*]6^LHM4Y9Q<W0VFKKLE)4
M]XV)%;?%Q)8GIU9'I]#9<>>#Z/3[P-PZ>"HDJA?&)B)Q$0,2KXN,>;W?1\$.
M-%,<\:F?>.R>YZR/4?R%;$E4UMSW<"+PJCR[!U Q,O%PNU%,!#L*$JS- CA5
M ^>#D+:=D!Q<,[91_\X52$HR$8^"S,NQR7!O1-I1' IK^9&ECM5RS*+CS,W8
MXP]OD)1M8^YBVB:)-^B+!-O#]Q.QX7BE3>L[L1:YG+TB^6U%"2+M$>N@^B3T
MX@^(!HH_V7T@@9@4T2H%#JN]GQ9-B.P;_.*-P,(A!A1>O/8!%-%YN("!]'%T
M7=$QV2..SP"Q!X!@COB,(O8!$#+V &2 ^'1 9*QI3P"1L:8] 01D36P&B(],
MPWB;UOIQIY;><.J=,N&_/O*&&1S;^HFM0UL'G>=_?P@_WGL,[J@@[OP<SW6V
M?\GW4?:B2FQHG9(?;E#W<_*CBLH5ERG1&>Y^1]R-'  1$V;&<PJ7OE)QN&N/
M<3NNLR77PS&Y#)4/!)73G+!IR,V^%[D9^JC 'C1RHRD4Z_B<03D-RH<.9&X;
M3&N5K/#[OPP# ,OZ6#ZFX%P7Y!S_3S 9;S*T HZ2HZ;[R\ YTNCC7.N43-<?
M__YD?D%&-QEOCP(^^Y;>E56S!1/[L\_]WULX"7&??<))$N2-@Q;)("2WEE&T
M!M[D0<8^P$8Q?(9B<J)$YR!;VK80_VP@9\C]MPZ8+X'<7#IR'X N3F18W.]Q
MR[*,W;8L^Q:T?8B$_ &PV3+52K0 A9)P0%9EAJ$[\_7O)X8R8H[AMB55/EMC
MZ.CS;8L7+C.5,FWRRYE*3"%7X*3,4,I0^ZL92D(AQ[";F+U6/)V(D+]_ZT<K
M,,0.TL0GL5!)%K0<,3(8I<3LUP/QKRF42N0*;"Z'7WTD@E@VL\(1O2R0<CT7
M+&\8]7GQ*)JB_ZRJ;$Z=(<.QG,0QA;@$-!F%?T.&Z]^A]M+IS&Y>*MY$WM$7
MWB3\;=ES8*;E;B>N-:X.(VBTKM;\U5X?$YD> #S_]&F&(6W0$?;&KM/N(T+;
M"&6]=[NOK/&**BF?G,V\X]>O7-YQW>8(Z+AV9R.?'C)X!Y!&ER]GPJ^GK2]S
MS.-D]:B.FQ27+@M87FA7_%EW=+3D<!O<+2/1[9,HNZ<DNNE9BTG&!ZC #)>7
M/4\WB::5B:$L2P)ZFFXV*T.BRKWU3@_QBE&GIZBB+6[^MBKG]E"GUZD-+^JU
MM+=LL8J*2>*AA[@V?<E 4(]/> MQQ[J7F$1*H0UZ'922_H*LBKJNH9Y2T=#*
M9=NH>-/+AOZ+J >9C0IF[B<ZW!MI68>.2+9.ZEX>WSCNDH]"U#GJ12 O.W[J
M8[B3N3TB+?+^FSX2*(A^#CI%S-X>'R2JF4PY2_#<8>+M<6_9WL:&7K^99_>R
M1TPP1??[8CR0VU,>&#M]8JS#,Z98CHQNQ<CV5F4 +KCJ%Y?#O^LF+MK%'1?A
MKZ@S,&JP^PP&IC<#P+)RV8;@$^L6<?.[9:%N2D<-7/(+\IBSX*D1L6J$[@":
M$7GRV_)RH_K@]]<<4D^5&ZX*NM=?F2._YQ]S4 *QY<96K';U$6[L:OAV#_'.
M'CQ?+GH$2K#EZ ?<!Q&R+=<>P?M8?AD2C3$@7<')W2SGI!!.N)J6,D8M!&/!
MAS$*))M4KEJ,1\THXVKF&#911R.W'S<NPNT6-PHN]ZH$,F[68 &.%7A#XVB.
MUWC>I#4)6+IF6KK<DRQ!MNA>2M5S2;U6+QJ=2KW6+K?J%YU3M5II=RJUDW9'
MJ9645JF];U7/I6U5/:].3J&C4_#L5'1X:GEZJEQO48]Z$>VJ$OI)]E'SPD2+
M^7W$/I8%G-F36:W <K+&%PQ9DPW+U$2)9PMFCY<-ADW!/K71;15/E;;:KI?5
M9K?2N6FKQ6ZKTJFH[>,;")#*OF&?NK6:^_CDN'L(/CNU.CQU?(/QL=)N=]46
M+L-7RN5*M:)TU!(5?[?U"9CH[@C_,$3$Y_H0OK&4)>X&8=$2*[&\)NLB!S&3
M%35=9AG-$'A!9$U# ):0@IEE>,&U$[52:ZDGD">TE%JG751;G4KY!O('U"9A
MWS"SO+66-OCD5*5&K<X>]?]H4ZL[2/2*R/CA8ZRCS9X$. -H.H]:)QET0=,E
M 6AFC^D)%FT!D=-3L.ZD6&\UZBU(Y"?U2[6%.MZI6H&6&5K>-W0[V5X'I>C(
MU.K,7X>MO3=(=F@-Z/BL 5W6@"X565^>=1;Q3,8"C,SV#*T@ZJS&]R16Z\F<
MJ>F&9+& +O0*G)3",T\O*C6UK935SDVITBY6Z^UN2]5DB>&X?>.9I]OBF>C(
M%#DSM3KTUQ'#S[_W+^0R$ $O2[2LT3K/:+RE6U ;%&1-Y)@>1_=$>)(TN5Q9
M73+4B:!="/4?:!BJE9/:&=38VZ6]L5,HN-GWX=0F;JX.32U/347'IJ)S%XD!
MW3E5.E2CI5ZJM0[4'-L--?K#'C0->X2FNYFUG6JR)"_XC?JC+ &69SF-9:2"
MQNN2I4D\PVBRQ=) UT6]4"BDX.D9O/I*":KH+04!JU&O5HK0FH0<M2#Q>Z-"
M0AP]^WL>&!V5BLY*Q8?]:"ZX]";&W371]'H\]PP-,"(S=XA[L8_:2KC+]FH3
MWQCH:*).H#L@E_":/AZDA*,QJ\F!D2\]T: S *Z-)UC&#=?):JMNG6EAPD>#
MMD9>"#:&MB3F&CX^$YI_F$N?=AC/20)436F7E";EV&1"'7XZM8/F$S?VJOZ9
MGR-W_I+ .5$7>$OF-4EGH(%(&U#9 ;RIF5:!,7FF(.NI32K/BS?':BOR$]UH
MHBRQ\MXTUX5T?;XUJS!YS@\EZ2U,Q%B@WNF$8!=4"TU:6DVA^&R!F#K8T\%3
MW1#5QA,P(47BK $</H&_FG8?'9B*IG+J>(3NV@RV9<_;56=>S(1P,(6P$YQD
M +?HC4"4SK#L4XMF<+BXQS#Z>$:&P-JN@1@69 B87\5-YKWUW24:_@8+R%%&
M9&D7A'A(/'S4UX/0AWM#T6W4\!+O$.#MQ!O 7,E'L?R75X=+# $8K\W&P!/U
MXID7>&7XX\32T4OQ_([EK>16=XS[^X>+>.)&CK(FCF4[SO*2*&SCHOZ>NH%8
M2[QKE&BB^R@HAD;#@2EPO#&9:XSF2F+#*OD>N+DQ'JVUVBB*/$Y<W-=SF79A
M6=$XNWCN(9J+$L?SXCO#$LI H@B-(5FV1\;W%S\4H!EB).:&QKV2:\O!N\9#
M7G4G\)97'0YLW\RC-RWB@&84%-8I'\_&A>L$GA7.($+@46@(R<B>E@'"I7A;
M[BMJ:_H(%U? /O8B=(RGUZ?N(_)ZOHAM\,W3B8.&""))B<./$&]#RH)BE3(0
M-T#35?Q)@*?HH:F&WHB<!^(S:6X='P8><6 ' S(,EH1J*=00&JD.\'$]1!/T
M7'L<R=JDVD!>-+*#B!*WJNG^'9.I8Q&?>HF>WX?G(8,/X26 (9DVC547J@<"
M-"4/S8 TU@/32+NP47P7H?UR<(].+F')>_&4N\0<&@C9OJ^/\*P;UUSJ/F$\
MTQ+>G(5;A-N8,,E,OSY>"N?+3'7;24P9Q?PL1KDD[TF<E<P+?NVVHC&? 21I
M-&\Z&HJZ=G1"1R@#"T\?Q(?(D1F*<6?DWV_MC7L@:8F)5)D?_^PJ5P=O#P\H
M>Z95QV:VSO_\ERP6Y#][EK&SKHJ@Y!LL0:,)[V3@-D[9(Z.W(9!0FE(0S<F-
MD"]US"QDY,$ #_8D:(=(B2Q+$-*'J&VB?)+(.H#Z.DZYV-R,[4[AWW"V"=3[
M0T)]>((5%)YX'M4(V2=VL$Q-BY61-3);'@++ESC;)(A2\2+Q#_?EK2R6Q)A[
M&ZR/PGZ"6Y%N^"YPHEV3%,;HW)@O16.MXM,M+R\>8AW/.<8BS@'Q0% WD7&R
MO@ YF?$*0"*5C*0[DNE<>)8Z3K$FX[+)H:&=\FB"[CYE]64\9.]X2"5&MM64
M8(+3\2#AE46_E,C8#[*R)I"0BHDHUBAQ4TPR(L1#.=%V$,8SHI(SBJT$3T@G
M@F7.<:!;H#_1?=RS'DM2J!Z-T(BM.-4,WB(9U$MTL>2+B"8='W"IL\:J)U2&
M0TB521=+(DL.+I&?VG#1:+((_'6$8E;8AH&:M;/F&8$[\M#78IV1Z!-H8G(0
MQ(./,X+,"/)I@HR$U"2(!E(FK9<G)!<:;1Z9N9%R/=5]VYL$*XD\@K8V$O!)
MU,86!X!V^&),[ W+]L$,(C2>!@35X=77DT9W /HKQ9RX$O'[E\,ED4LPB'2&
MT+>A_HW?M*9A([ZPFD2>8MOO%:'L.A\]HY.WTTDJ)9")HTF="XNSP2(@=ER$
MSYA4E@(M(5RP%R+T4,N_#<UX94YB=%Z:C\C2Q_GL29Z_E(3HC2#R@Z=N^;$/
M:^![D_Y@26VA%^\E(A*\=]T>85/:'6"'?G+I)<WV%HFJ'T3O2X?<$^;L\G/L
M)D.GPYG@4/T,T3/DS=;$)QZ)R"6X+K=U)!?)I'H?Z@;HK4@91L=?1BR.J,/+
M\T_QK"YC+%@MP (^"GC$)G\O'J4+UX2O\!?($>>:6(E!7X)P'P$$Y"13KK3K
MU,^H&",2!B&IL*HGO2GH5MO1:M%G4<G&KQQ5J[0[RT5J\?<K4%NQPTF(3:WV
MVDXZ2W1<+8(^KW0JU<1N5IBR^@)<=@U_JW;/AW9'O [$F8&-'&=HN*_I01 A
M[P8BO<72UAP!$)(Q:'A8\P3-9L,$0F@VWFEN-6HN"I_Y>%29[9,*MAQ:"XK-
MR#7YTJ7CVC:J/XG'L!$M=8()G?B)+$C:!+"1PHO]OYON'F29.6"J(W>>]\CS
M?)@97T*6\95E?+TSXVM/V#,F\6@,/%2@*:) KQ-OLH U2,:Y5O)L9;C%#BI,
M/6-(]P!=Q6-^D.K0'D.1&/JQY,?Q<L)?8SZ#P@PZ\1LA)=IV)TAYMT>X(@JK
M*/%@Q\$3PCZ2.7L4%U <-,P2:C*S% =";)_$9DE2NWI&5THJ+B.(>K@&>QT
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
M0*N@@],'+= OU/J-4\F'IP^@+L!54Z!UUBZ85A@XTZ'(#35K>C:_.CF%JZ9
M*^0&06O4Z)T/[1/PL!C5>%FMP%53H%4Z;EBW<L'BN_I)-7\_RU^4V +4AE;0
MVN^>M?'&WC.?OL <"0<R+_V+C*A_,HAPQ![(*/>O#@@("2&#Q!Y @CV2,D#L
M R"8HT+&F_8"$!EOVBXDWMA5\$5UZ3-;O17B=(!WN%QWJ[M\'"X4WH +NZ7$
MOSYSX2]C G'5&(EN<$R._+",!^Q6-G\LR/\6[5\_S_1)?.".Z-URA@_!AXP?
M'@0_+#RF#0++S?]NC]-]XO#>O\5\U/GK4-C>WY[U:43H[8CE'39B<*G\[Y$.
M_50:T-H]BLM[?#QM<C^9ZC=GH;M4*9<XP;^7MMC"$;/?C.9GQ26<I1-U+L!)
M\;BG5PEW3$!=C^:H@R%Y+$ M4U'G.OW7-E2.57[:[_\R#  L:]>7M>:9+QRQ
MJ?>'/[%Q2[3?>?+0ZZ]4:;>3"3O;(*"/O::]-=,^X1J>;UK_V?="])AOCQW8
MK_GM;^%KT\C>:5];$R90!,<U8E%;;%RAMJP0PXU=41/"N+5/C@H (!VK&/HM
M0R^_I):VKXZ_@Q$?WPON+\3 ON*1OQ"J'[J5\8P8*)(6GE%KC-^9[9#I19GM
MD-D.&8U\,]OA*1&QK/PDO5'P5-'EU!G4%FZJ.Z1(</_M@2<"7P>A[!2>QUJ*
MA1M8J]&-VQ&4_:@UR,2U24T]FI&BM:-Y %JW7=+&B^MY-2^?ZMW\P%^P VT^
MGE:;/]8J\95 JUNKTGM64]AP9KC'(VE8Y)11I]2H,7=-Y0=E L,>Z4[POS_R
MW ^*3)C\WQ_V//SM3D:F%T9_CVOT)T&^K^OCWPBS%-=$_Z@KM%+"HN[[:)+3
MI>Y,P \J@$"!W^)^Q G8QT%A:+HMQ:1MH_P@GQ8M93:8:054#"=+3([G^+B"
M/[Z*@S!B=HBLF3'R]>F3TRZTSLR4G:I%M[5P.N55MGYS]?'T"82[<6B9UW9W
M9+%YPVPKY3&+Z%/X\2^3DSDI)TKR,Q3Z56VO1X*U!8+0MW'?)21:#]0.V[F$
M_?CC[!-1;UWHKK#NW>1MA5(Q'%\!=:&9YN*R4'"Y JK<1N*W(.481MR=^/TR
MR)V9@QF)[TAN_SV)3PU."X,98],G?+T+\B?*51]*< E)<%F6H0SGMBZ_]UM8
M*_$<&Q\8 %XDBI>%OFZ"'.6",#.%OY>JO76I'*-7:XE=-1!&COH4^@S.E#IW
M:16NN_;5^=GY?8&U@:=H,A'!=$X6Z,P"SBS@[T:66Y>D;R1+\X+FSXRQ<*'6
MFYWVY?WLTI''B"R1V*3YG,QO7VP>G-F;(DES$ \@.3C S(S@3$/^ '';C=!M
M1=?!TU1=*P?WA='U>9>^XMOSR:EB!2.KC[J*06DK%'*%P@Z%[9?!X\S>S:AY
M1U+Z3=1\HW9%07\PYEU[:$STVV#D^W7<(Q!YIVD4/1*^FVT;394VXVF;\9PH
M-#G,!EF@]YNIT:P649;6(HC0@'BPZ*QF3@3'B^1?E+D=I'[E A<0:Q=2NSB9
MSLQK>E&I:[3<H1U3Z[^;W.MHC$:"UI]5R6?L ],4_3*MWG=Z-&#;_4DXF:$^
MGU!X\U).9+)8<68I?SL2Y[9,XL?E?KW8*"LTG;\=CH>7BESI"N^7Z&\B\?;M
M:6<\GEBGPPF875>KX ZT+YN(Q*%$Y^F<(+&9U5UQI_ QS]^F./\RMDFFE>_
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
MM"O&MJZ98?\#T.,#COT2:>2GM?S(%A=W79N>URYO+N<7(=P RHIG4,<T/BT
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
M&(3,&YQ$*T/JK_UJ? :(/0$$FP%B'P!!'_&%#!)[  D6.W(R0'PZ("!O8C)
M[ ,@(&\2,TCL 20@;^(R0.P!(#+>M"^ R'C3=B'QQK2P%VWJCSNU]&'I#B]8
MKWM]9,-ST(?_^T/Z\<[C\_01PWYJUJCTES&D&Z#[ :6Z)C#7NLXOPT89)>P)
M)4B/3TP"F9O_3<=Q]KTXSC!'TN>FC_\MCK,TRZSC\\XLXH.&<N'0H<QN#\K/
MVA89E#\3RERJ;'JDV=)/\/VU>V3HY46NG?.?3.+M@\0["-UOCVGE9\4E7*0S
M\":![IH!^=6SR+_=H_81^:F$8IE^D"._@;D!QB'Y&7=L0M.'R*]CX"<^)S^:
M>JC_VH:^^-G=V&L@I'PP!>X$;*=U!K\'A]KB4!L4'_OLXWQ"X0,)1^W72%"*
MVVFZ?FGBZV@=C=%POCZC=;Q5]CZC&8/C>56>L\UN<=9VQ!8G%>[._Z:9+R:Z
MLN^-4 XK.L25'0Z*DP!"!OC+,D$E" #\OTF:\6UTT)\5I0?CF+'H<YX]O[LS
M@-IF4*8<]^-?(<<6"CE&W%%O+_;#RP$W*>-3:H*0Z_>S#_XY+$'\YBR!76,)
MK,8RG6EA7KGNP37,BMV=-:U)\-DLP?=Z-UZI6BRJ1:^KN/?<I=#L(98@_OBW
MD.-%*2<R.^K<CRS(SZ:,C"5D+.$#60*WQA(X[;S2OE\<!T)G>!_2B_*9.)I?
M&+-/9@GM\-C)UX)%FZYSI[=E:W[?O*GU(4N0$4L0&2XGLN+V>@5\AF.@Z 6X
M[F[KMLQ!&RY[V]CL0ZV8_6T"\[5,&D2#=>O$\TQ<D S\J6V H.TY9@I/H@MG
MYN"A/C+HA5PXO69NI_,S6M$$9+GP.4XLY"1A1]/_=AS.V">=)&, XN??POXP
M@!T;,&]B .PTZ)OB5;6NWM^&]Y6SNX$CH1%CR$X1<RPMY/C"COJ?[3C2E3&
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
M JH+@LI7//&^#X*VH1S%V0&*'WI ZSD#H(:>EZQV2?$-OYSALN%(C@>2M3H
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
MF]679Z,0Z%3']X6AJ5-5U9_TP$!_;[<(_P6U\PRI/O"&Z1Q?*Q?TJW+9$<Z
MJQCU6*A-VR6I7*=UH.@RSF2IH\]GX\%\=.+H(6H6O1<8;ZD*T?N \=>=BK.
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
MQ'2UF!/FD3?C&PP_1U!D/RL)G1'-BHFOE S-+4'7Z^_"5;@B3&,KXE[%M[;
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
M].L_NE"!?6;>K+\!!?%!@J _<R04Q!4( B+B2@1!?:;?+(@ !?%QB""@(*Y
M$,D9 1%Q#8* B+@204!$7(D@("*N1!#L9QKZ$=<@"(B(*Q$$^YF #MTU" (B
MXDH$ :VF*Q$$1,25"(+ZS,$SXAT%\8N%'G^4#OJXCV:2O_SM C9GC3L_PAK\
M* ERH;(:#[$S;FU5?I0>>,Q5^9%%\9BK\B.#]S%7Y6/VRG6O =P9<&?\7B#U
M'Z\!\Q,;XZW"9+RJAG9HI=4>O]8=@V(_=[3PXF(7%,])YN-#F<-# !X"9W<R
MWHX+W?3.@$&:*W7%KWL-8) &!FE@D.;Z3]9;6Y6S6V'_V.%*II.F9A0+VMZW
M(_6;Q +<&3<0@.D%*^!!5? XH1?^=<\_*/K;.07^J>B[KH- ><.X"HRKW+#W
M_%%KH+I6^L.L$=IOK@=Y[6=AV;5MUX$J\7&.P+YB:(@!1?Y (A^ 0#$<F%]^
M)*_V58-/*/C'\6Z?.]A#F3^.@D_;6WJN925S@F*_'>_VGXI]Y 9_3V) IQ4Z
MK>_CM+[NQ8YM]H6L*_5'M&+_I[@8KA0/0&;=>Q^ -[PCRLK&R.E*N"4>>4M
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
MDQ8JI,DBBN-%FH&5"B&?\ZR'\@40]>L5)%:NE5A-_O.5 -4*4R'T72\[H(/
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
MEK*P )+(#/&3M4Q$N0@*/E!#SP@,  OD07KIC4G]NJ,7D%X*M\'-)(#O8!M
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
M[D=/JP51)-W;DL4@1%OBW0<;4C)G212CM\H#^"C0 8:G1Y%C05"@27G\?=0
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
M&!5.XU!]G7?L-G4![OT+X^=)3RYT/-)_L(6POX\M>^SD82A@*& HW(J_?SB
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
MN&@U<_..C3"/2B_P1);FCK-S,.8QYC\O8_J/,3^F1F7=$V1#F0OSZ79]9S#
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
MLQSW6G+#5484*KX1S$$FUC?P%LBXRF8.QA7\*!,""P[L2IV(FPHB7!95SVY
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
M /Y'/Y'$F_XJ,PW1(O!?O:9\DG+H>T@3J.N]9V@]? 2U2GI ".H+>7_2)WK
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
M'_>T]VT(%\?<QF;6+HQA472K0;BAQD_M*%)C&8-B6[WT)/Y%L2YJHMLN!>_
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
MV0XL64%"!?L8@<&<,#<*J=WVTH'ZNM5WIX"]W:?E\1O".T>1]TFDE^0!"IG
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
MN;863--@U@X"5="(VE3!YS&3B56\V)0PA!GT9:'<$SG^AG UTYGK<,@H,-J
MCF,32"1AJ%'"@!7]Z(.-.^ABL'O'KZWZ>5#U;!)Y#W53M<%&H=/&:5WI PTC
M#>O2YW[^8+24Q2#3GINQYFVI5T[.K[>EE;Y\(A]I4DG9@ ?",&@%0;"),K.U
M7_P'>1H@X%@P#!S#?1IVX7$_%(N*ZYC\%S1&A;_QB4Y9EM)GO*A4G@:E'(O/
MBWTO05?IJ&*-Y,C S&>N=,><L1'2^:-LX7_DW6'?XCLE>;JEP8% P2KB.\;_
M'5M:Y&*B(3_"U^JKT3;Q=Z6'4-;:?R#PMJU@Z&<'?+TPZ?_]VU%?V' :Y?T/
M49P<+48&Z$.L#O:*+3-YE-WA(; 8-'YX[3S^J',@[) [',3G'<2_'0O$TWM$
MD9=C\.N_^GU-&PQ>.(\M[,*QJT_@$S9=T>^S]:X7M"DZ\0GKH^RRZP6^H/JL
MH9[9EM.]@9PQA#B#?UWKACYUIPS!S ,]VZ#F'*]:JYGF TCC%,.&Z"AEO7Y:
M46=M?5A\J%BSSNW]P]('>Q:SM?XOHB6#D_3-5IVG8$DX9Z?/]>SS9;&8;)\]
M&)F[YT+\V@6<LT0\:([&?G.;E*?/W2:KU\FF<I?Y\_%EK)E8W5YF\QFS&+I-
M(#MMS?B]G7*3IX^]1O76*#>?SJ8Y<[IL%^*-O_Y)QM%7;:]7N,\^+L2^E/ZO
M(%L:"ZWT*<1.J+/^L\37#F35.Z;^IEM["Q.M<0L-&RN)A$S6I!"[+%'_&K%'
MPWLN_A9][5KD7BO]$3%7K=5/N20_8A$>[L[?OSL%(<G/L?'&-S>:<W<U/(W7
MG&Y-2?>FLW$K_(;X_8O4>"B/$KEAL5AVM>OL%?G_N_S)\*]_,GMWC[ZT9<YE
MYZP;5R=GY6FS>Z%=C:Z[^N5P>Y?J9-57>O5XO%8^6]T4:MU<^_8\503UX[M?
MJJ>N9>@4''U =LVU6'F+Y$/^AO?KKL3<WLJTCS"@( WRW"FC#<9_O=QE;5R*
MV?WQY<GYPVFG8%^=N]OAOU:_VXI;Q42IFE[&I\G1\:(^- O3$:11)HG<V@(#
M[OJRNC8!RG&AC?3^1/MA]OD?J5%\A/MNV?$SCAO<)FN#J=:^CI=6=WTK_7Q3
M6"C;,2,A&?J\5;'[S]9J?);M96MYIUMR9\-NYNT<]V^,(ZP'B_=$V']]=V4_
M/IZO6Z$QC!CDFP.E'Y*>22S=H06!40ZK'?7%(+V$":FSP1H$9! Y+TJQ"*1Q
ML+(0\EIX(W7SE1@KYKZ(+HRL1[,7_\.R=]J?G2:F* X5 -"@8D?UOI"S]_*B
M_/U/R1-]NL4F;S=*VU/JME30!]E!*G3!=+0I=%8!4,XU8 #,5K=YWU-+#2]6
ME +*,"2+*ONCP')9=XC%/1#I+712'!QC\,(+(QXSIF6F:GB:QYYP[D^H/LP<
MJ@\/U8?[4/EVJ#[<_:(.U8=;K#Y4"E?)@KMJWHR5^?FS47SNQJ^UT.K#^L5)
M:7[:J _&RD5CO)PGL]7!++3ZL):H%R:%=.(I7BK6;B^>J\\/-R?#L.K#XZ(>
MNS_7>ZUR)W_OF(_Z<_QRO RK*3QMKA(S._Y4+I>&J[9C%F;7K=-E6*6@H];[
M_:M)9Q;7;LYR/:=53W>62VH,?[!2,/.N2L'L-ZT4C&R]5)"FD 'F11W *YH4
MT()FJ6[*51UV>M>#I_1I?WSFG#2.;_7+N'7V8WJ,&B$U##+(&L/\V*EE%C(?
M&16/I9)B42#3RJ:LU  ;^CBK&/;E>@=.)*1ZBNQ..^3S_AXM[\J-%>U5? T"
M&#9Z?\T(?0?4/[?H.!:B!-^$U5 *()D,8AX<V_K*>.6DXS*L+K\I2XT:?R]!
M-(U4=$-Z$^> -JQ'C(RRP_#K><JO0FQG5M3%&ZO6ZT715Q7N4[(,=*) "BW-
MDF?P-.1S4$*P 'N<0I#9%.^?6>%K0/Y17PIRH%5!](5,XNB:\2[]\2A2]O:
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
MX'68N(PH'#?\=DYT5WU M1I<'QD[I L&W6G]A65(MA<*6S\U\0B#!?HR],5
M%1WC#8%W$0D7/)\(MXFJ&K[BLW3ZEDYFHBOX]%1SPG:8=26AF6\FI(LIXENL
MG8<#_E$!^CLA2C;LN&%RM$>B?FH6A97T8;^"1%]0$PAU60TL!Z+XT5B 8_M(
M]VN%-GJ>B@QLZ]0RI[S8;Z-397!?63:KC?9YN32].FDD<IG+1KRX'N\.?^YG
MY7HZ(8*=;R8-M7'1LS].EZFRXN% T3$H,%<T^.@R!! LH3%[P#0T,-@D3&2S
M-]&'#*S6 Y5&VC; W#6).<A!8VP>R1%N&'!R (]PS&S"(9^M$@;R+Y/=8M)9
M]HWC:7Y<2A6GK9-Z-?'8^+B&#)D,,-4.,<@X_UPQO\.J1!<:'@48'KO=\?SN
MJGQ6:ZJ%0E5Q&N?$DDBETM%".O4U"O-:=NIUM[54"Y.K0;S9=1:+=#E9N^_L
M8'=FS]K%;;SI5,=*+/9LQIK'#XT+V)U",IJ*AVC,"FH=01UYDW;L!99];L$0
M>MP[<MP01GC3CE=-H__"IJ\>VVZ^U)L;X^D@,WONQ:Y3%X--D80?1XZO;,YY
M,S>+C;3)^3@V7([KO>>;F[8+%EPRFBV$L>N["#(H&C$F+)&F(J6M2Y%[!7,@
M<$T^;RMD@4RX3ATJK#G*&&@R3(&B(/H4E1R $D,O,RDW19Z?_'']U33\(#,*
MM]8F%V'H(CR%<7T'PC6IGY#QG3MD?!\ROO<AV_B0\;W[11TROO<AXSOWKHSO
M_.9OO&@W'S*^W^F,1O?\#79]P2023_L))'W/$[.%&;LO=\N7PY.RVE[%+L^,
MX98<%9_JA'##G!#<1<H7+JE,N^URS!R_CZZEVX1M15ZQ%S8-=CM9CS9B1@"K
M*07/,AL3JS1IM:C4U8EYD)E/<VHNE,D+W6VHHQ&59L_W1RP)<SK5;9M,=CV3
M@RGB=DB"KB+449:,:7C.ZY"3$76MQ9N:5Q=KR'YQWTY);^I2URY4Y,$];IL&
MJA/<SPM3DB;8)]/I:8A>?11IS["7@@X.3I_O-'P99(91*;- 6@ZZ;G5?@RH(
MB^L4HYN[^3?$QKG3>2WCA*6[VX2YV2M'D1KZL0EETIEX<]01.=C2F/FN8[2=
M&10L0X-E59"]G&AL0MYT^1)"G>:ON\HALC]SL(,W.I,)23'Z$R[SM9$IV4+6
M!@-R5O7!@/P>[2Y?,YX!/RPRE#,1F3M^>O"G,&B0&6U@:Q__1A%*D0PON>T:
M]J%V,, !#D.D+4('<@<K'Q\(;B6$X>MKM;%#TG=S\FV\24(]!0/COG">,ON3
M^"J6O5T\].W;S!AZ&A0*/\.-\K[MF!C6JMYNGY 9SPSS[BEQ?#X;DNU(1)/I
ML UYG]]D)V'N*TA=U*XP7K0I5G+7N9A</UU=9\M9-7.9ODQUK?@B)%82_MQ6
M8R6?JH(LPC O<&?V)NPA4N*PU3U<Q)8%V6V\%$;AF@-BZ!/Y#3SH\TD1*:\M
M(.A*JW40'%\NUR$74A! P^=. \D9 +6XJ;7E7,7@GV6'VEMP+4ZQLD3;]/77
M@L?HT)LI*] 9[#?X^-XR)6F%'M ([B8B:9!KAE;=T-CI1 HL\_07[V:,>/J=
M/ W_N)).1 :?*F,^@HAU*43SQ#I!7@J'?S\*'L;ZAVC/S$F?-R2PF9Y(/^ZK
MR@I\$JJ35I"<I^A$?;PE,T"];&UBX/ADYR5F)Z85,JN5F(\H(@HXA]^D/?(>
MDV9P-EY&0NT%RH6<4=YW EB-+0O"W&PL4#&C0KOT]9K%@BN-M61"$D/VI-FB
M;#?8B%Z[56QVB%0$6JT^A480NK.I7>(ZK@T]$6<U@WR5R0I322!F*65,ROH3
MEIUBNG>?WG9D$3W3LF@?"9R#3U+H!KU&,8[$AQ39S[@67Z]<%5=A"!DE<F&"
MI.4G&&)ZFU-!<FMF4] 0XD=DSNB98]=6!_M=T;(S5!&].489K?#R.EF4@$8Z
MI5!L/M65^6;(&"M&B<P(60DKC58/:D^:U8?F)N0H)Y,UR<=:+E$J'.A/T++5
MFXV_NY.O@T=,ZM_AP??X10CJUV *R>)2;(](6D%NDON*B$D)2TO*6^("$K+U
M=E1S>K4FL7"E/;!>-3)7"N$$UY#!FE@QTO$);4J-*.L >PB+%S#&M'X#[+X5
MK)_:B5UET@YP9&Q,+\-\!TS] :/6UE4P<"@[#5V%* ".IF'AK?P4-*["UJF0
M)$](!#B-:C.TQD'Q#&6)LLA>)I*1*?GRB)9U8P,;D&ZFS#Z05<1[3U-.A(>1
M$6V\M%C+N=<Y1S"F2-=^_4+F%2W$#E-4B3=XBS-_3?#KG,57[EVCNR$)*.SP
ML3-+XO?QKZ_,(K!2OB![1%[0+/\]3E=IA9G^:VH+8S%?/]]-DF33A>4[0*_%
M;["GNB_%C@_)?1&$6((;XI5J %\LPK60:&!G=&/]&^P">-LT=RXCO#(S26D)
M5.'/B3!PX""/(M@_',MT7J[(7ZM- S\)L&-/JF4+:A(<!H!J+P8XMDQS[-<=
M/?57FF"/5QSI-M5L)1=EL/!EK0A)U,RL5],%O%)RC?_Z6JCP0'<M^+AL49[N
M)9)Z[L7U@F_F)@VIH#'?35 _,:J?/T3U#U']?8@H'Z+ZNU_4(:J_#U']_+NB
M^H67OO&"AW=[4?W?S(C_SI'_$H1L*9!%T5#I!(::T=<WN^N==/JT?_]P]53N
MF-;-_<E%OWXY^S%X$<L0)[UO6[ZZ[>V5Y*D8L* B8S<V([^OMC]1= 1E\ K6
MHQ%XG\<\!^#>IR8N,524"?7:"C^V;1+#6PL G-':?UK'9)D]O*C1!I>#WAZ>
M@QQC=SP<,A9*EXQVH1*C\DV,?A,N?O 9"%=#8+TK[I<4\P!P*[\K@(@U6^<5
MW?*4X5'_?)CZ+N:!^CBU-_UP6&(&GF]G!7@#0PHRP5T><A(!=;U"#VQ(S&5S
M8@!> V%&").!KQAM2S!4R).P,5?:4)0+BIV%L+EI&!J-@N+70PE#."W .T6I
M6;BK0TV$?6UV^^7SDMZ<O;G-Y/:KAL%+V5*>-@EGHU^T$KV,4FR[S=K '#F]
M8>?\QZ!R/OW+7Q:,+EM'>=IQ!/6$1V9T:4;!&!,&CP3P!TU<T=!=TM.<I<:$
M#GF5>P\'&P%BJ%35+89^0]M^NPR0%/.K!'B>YQ^(HB,%QJ>" IP<,3*II0(H
MGQBG)4N@230"A\50:'T!><M"AXQ7<F!B:W'$U"-_1BG&EN^+I@72UD00"R<B
MK@X.E0.B3_Y$3V,)/!A^(2(>4X^(0BP/X^N@KKI]FDJE1*@7"5V+@-]'VS-X
M%]G4A 0Y?0R(.0AY@M$NN-1L6 4O<6+MS9D\5T,^C-@GP@_$I\AJMM9I@MQ&
M #C*,"[7FT>@1U59VE+>%(VHDR'0+>DZ(]/:96C!8SS)V8E^>QO0)/V;Q)[@
MD2D/JD5$I#TW'X72X02TOM<8,1!$PYWVJA]K,3*;N#8Z;[WA0DC!IK"6(F(3
M,M? #*4D//(L2P$ *D72A%I1_ 5J84KPM%8,DA*0,7VY J]_ER4%:CP,S/^E
M&X+O)7^V:XA(",R267BL-FE&6-(2G$E+IQS!8DA^Z!"%@"'J-;CUCF/I1'4*
M N"8QL2?V0FRBQSO0'_;C*1J=?$[+#T/8TRRZST--M1V;1@+W+DS#!(H&))%
MT",(</@'C(:<')MC1.#%AKA?=98$B#@ESDL#<$F",QWH T*89'_[5%'$-6R:
M.D9&)DQ?].<IXB+"]RT<I=FOR?-8A!V*+[SI/*"2#?WGIL&FH:\Q^E%D]Y$*
M@6^-G<R=D66ZPQ'':$;0"?3QB]IJ!OP+J^!7'" KT]"=!-7  @4;H!K:$,.B
MT%O\4R-MT_CKQ8>*AQ"-V;9A(M0386AQX%AHW''.0\R.P<:U8XX).7="5%0Z
M,%7"4S:\A)FUY.4--S-&Y2 6,26SH1D8:S,?H "D-R\+J\"??=&]L"1@R,T
M0@_.T@[)7YBYENTJ%(Z7"468AM!OV![L)LOQAJ)I(#*$N5XX&ZJLGP%*7'>^
MG-:?+N_RY^WIZ<6J_C!.$/N[$?"GO?3H]TE_7(5X5F[684CV)A=2N@TX6@K7
M'BG. TK;316WD(I/C'\;F KU ! O4\Q(&)HFJK-,M+R$OD,A51Z%/@QH/3;5
M):,X#I7W;"2;:YGD5S1V20PTRM$>="T= CP2%"V0N8)"5@L:&65;6Y-&]L*8
M%$;^4[70%RA.WTQN>,)0?T*9.1#Z"_X54C1^T90$\M/:G^G(&&(EGVU*F?E\
MQXA\V1%]ALU&3EF@=013\H>))M!::4%!9*S39Z'[J0;!!")@-:(>6%QKX XH
MG_)FAWP1Q;.@;I#F#OKN=(-F%P(DE:@0\O!2S!XJ'5B$;@J+REL& SBUI91#
MU)/L$4V^I<A14.\"!C0BG&+5N\CGH;7MF&-W%+GAH$B@3M%%T"\Q#O E9'+<
M1K)@;[ZT'X4^F]%D$#5"-#R*U^E!%9$;C([F91!ZL^<)5BQ]@%PU1$C$R-_Y
MKH G@,]JB:G6J,*!FS(D1XMH:H1LQ&9(B:D&0Z;G?1TLKCR@K6E31=C6,!%*
MBR0C?RO]?XG4X6!>C=0D9(87%T6?I=-;?:7)F0V5RRQ11?4 ?D/\TK):C_8Y
M$0D3R*?U(U1)ECW'<Q59T8P<'?H^.(G)6V@GT<P.:ESR712\@9_GK\A,PA07
M05]4TC.")G\7(UC:E**^"60@ED?^"D[$4+'4"<LWX7LC.(,PG/#/2[/RDE[H
M_G#@(IKGQ+(BI<WE#B;4\@(0L*9+6RL8$A LNTNBK#V+;T6^:V<-S(Q9&C\Q
MA:5P2&$YI+#L0_K$(85E]XLZI+#L0PI+X5TI+(GXAH^\Q5)_NVF?_'E(%M_7
M+^%?CB_D^SXR2+Z+!$3RTP^UKX\5QP%[#L)"PU4$X)&)0@,6F^N5ZY7K)>'C
MV)WQ_8ISB%L"PL'2"U^:Y'?97[/9<Q2+5^'#Q+H<:ZM-*]M\:*&%)+!>/YZ=
M\"R1U1&#VJ8&.<7>PVI_F[K2P%:(T5=U8^8*YR^QJ'3;BT6BW<VQ^6B55_C$
MO<VFCGL/31M+8]GTY'( W7IM$T1TR"&Z.:N$E4HXZ2Z;;RAM\=>=L>"_$0@O
MB $_MK.["NM4#)I%(.H#PP]6L@MED1Q2?XI'[B%T2!E37#_@=KAC0H&JMS$"
MTUQJ"^/8\G[13 G!,!)=XJ&87MDS6XL%^ LF93<O@L@7@N A[ S7O+XLE!,@
M1#Y;VX?ZC;D;?/8"<YM-'B-:@.0-(] @))$68J!HQ"9JGSX@@H/,[M%5AU[7
M2^_CO" GI)C+G<Y8H-7?XP:*5_JL6]+*YR3W"I0A+Y%\A)*YJDP)^S!OM*BR
M9RXU4W:;5 ;2L=%C],#TC95W0L#,0^0^*R*:VGBO&@C)XWD)97&XL2Z'IL4
MH(<T$LWI\Q618_08?LU=*&/#7++@;=^=NHP8M<% ZW.RH)XZW'!QT%XRSOMX
MPY^_^4*!N_==K&676G$5'1YI8T /V)*6O.;=&2/%\<2MJ)7SN=)>*NWRF,)+
M_.2N)YX[BD%T?62:JN?9$X3!_6R\<Z^?CV@+)LA:TH4S; IN)A:89Y_G^VAY
MJ4>L5DV$E$5:IS3K0)Z2:!XL!"_=8S9(#]((9N"5[?O3238,PRB%[?1:S:[,
MM2S;"_'T6?!^1XE!]?!8&.^&1$M$>=C+8S5/<O"F5E&IUIV%+V01 K3!KU_%
M19'%&VW9@;BQ#6T$R,E!6[0!9X*P2?J;)-/#4'5R[D;?";3$8(_9+PWG'X!_
M6V #TU1HFD8B5*U@8)"1+0O<$?&!& 2^E&,J*,D]P[*VUS :@FYG#\\[J'2P
M^"2^P!S$H;,*#(@Q2FF3Y?YTN#(FR^GH,N8QGKY_:[WL,,C3Z@M!@1-BD$_8
MNPN9DO4.#PV_"K@N[^*W$1UJ G7]MC:9T)0/& OS#_P381U*;/F*H_*'(^6)
MN]*G,J !L.D[0(\O39IJ^5(4 BZT&<!VX&ZRWF5>/^2HEQN(L8E5#.">0"R(
M%M T&T@"VNB9+ =>!)S_E.BM+#0".CM+Y$3+;8?!76XXVN^:]=\<@Y'1++T]
M1832'QXF4@+Q0Q#3#M/$O#*":(0V8Z'IE"SDRU$8O !GE%FDK.GF5.>X3$P4
M(7O@D_]:RX/:8/"^9.S2S3 WVEL\D^B4-3/ZP Z& 6NRF3!$&U;:S]4HMN'8
M42<8UMM<T>W%&H,N S_7<Q4@J%*OM[7'/%*Z52AFO(DZ;/XPB@ /HJJX9<*E
M$Y88*%[G[^X0EN!])ZA@H0Y1(2,C;4(1%=F5%)E@^0S*1^0&0N(V!2V0<O<&
M+OBJ/>P<$)@\9Q\F V(5=%/:(Q;[=<J-NIRW3YB;9-$0DK/@D&C?+#O"0$XY
MK2&N@4%6P"!/_=<5WA+D.(9@3<&M@@(R4FR6(OE$W']%@;#D[@4I,V_M0RQ)
ME:L"H/P3U@;@4$XFZZ0OO!,O3"@;SV(&)%445IOZ+D2Y5>W3O3?9&!0.*QKL
MM[:N-]!<Q35SR<L;# 27OW^X.1D_A)L/X>9]"'4>PLV[7]0AW/SYX6:%!IC[
MW=YQ+C?+/L^&X]KCR&X6BZ?=VUP#,LO_HCPIGG2.ZW?M\FWVH:R9]1.WVBH_
MS5;%;G+]R6[]].QR=G'7'^L/[7:M_KPLG=Y"8# =?+)X=W9LYMN-8EFIE)Z+
MP]9<+>1AS&SPR6M+CSU5GZJ%LC:_.SVMV,7LB5KLIM:_'NN>Y^X5LH+QU'HV
M'F\OCRO5AR%Y<NWK\:O$PZCCMKIC]Z)R7AYU3]K5^P9Y<NWKXUICJ*YT*U<N
MM6-YZZF77;;M83?=C0>?3#RT"M>IATIAW(DWZH:Y?+Q(=1O=S/J3G66F%<LW
MZT:YE#S3;J[3BO)47':SXLGWIP0DXN_+"4A\)"<@^?ZL@-0A*^ '9@6DWD,"
MZ9^;#U"G&/@\;OQW34":X75TK6 76# 6$-V!64FU_U6FL_]<BW806+6$%:-D
M$Q2&7[T[S\[:HNAT-\Q3/!=,L_>"NP&O">]42B.!ANU.J;4DJC%%S3'K$+'F
M^Y5L,)<5NG&T6G"G,->OA 8N9]C3TM*/K_'US("E:8VE)GQ@SX)%2$UHU=1L
M!O%)7;.6%@M&"W@ C5:^?'RJ DV#E@+YH#1^*$>6(2_< NCHE>>X0L>^"-%
MK?R /&[NCL7>,TL(6=!( \V(X,UX-S"'KP0&,.%MQB/8?P5C6O5ZD>B:"]W"
MS(.-KE/1NN867O!)*YE@*>DSQY&,YPT^3DU:*#H@Z5SH#)S06(KDA-1"MLG'
M:=1+@F65(FP,8WN922+&L# G+D76ED<550;>#B,#@AR;ZH[C54(,+<!YEV*&
ML0T+I^6@D'ZA\>7R"F:<*$W24*:V<-C)24L6&6])._Q(TQ3+41Q'Z8\P 83'
M5:1N\U,OY<;2?#!#4DF/%YB6YKP>FC[QXQ20P\!NYL$&'NMM/$(=RCZ2V;AS
M4B67O'KO;,@&?793E6!-;<)74YOHVI;3K=/TM9K5I-*U^*3;759.VY5X^1JW
MIMNI/]X_C;*]7GG>S=X\-G*]:C_1>'=;%MK''>/NM8%$>,>P>V7<O(K8N] 6
M+=5,/5D[[S>[8Z51.E6Z6FVE9X9__5.(IN/)M18MT:WO;=*WM\F/[.W]B>G8
M5?WNMIUM5B=]Y>Y:N:N\O^7-[^_M.'W7G=_<Q$['E['"?;/SF!V4!F1OD]%"
M:!_K+?0#>JT<_ /;:ZT69JL_J)ZW:_;)Q3(VNBN-,[L@W7+Z?)S5QM7K>-/J
MU/7[0;%U/RK"]N9R8:3K;SRL&_R^V <(""^-R!P,'$B-$YDR49KA1FXAO+:
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
MQ\W8(!&?)NV<DZA47&<,? $Z8CZ:2+S$%Z@C_AN!'?[ACS'TC*^ AOXHM?^
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
MJ!IQ95A4U=7=1.W.0#P1>S25SD?SB9?$T_[''G?1LG6W2=X'I]Z/<>H=Z/=
MOP?Z/=#O@7Z_'_V^737:M/Q]\=WW70N10\L4D/QG%PL<;-0_S$;=X1WUYQ'
M@? /A'\@_#]HW3^-\/??X?6#D^T/9M;/-+.^3Y*%,(:H+;3U%+;V[>G3B7J1
MZ;25B[%2.KXO/S1KNPX9W#?'CX.8:J_*9R>/ [UAKA[L<;%;@(2+1#2>S4<3
MN?7N9 >1<Q Y?ZS(^8W$B:\6.7&CE6^4&J?-N&LW8O?J4_.L]V(SMJ\0.<?3
MZ\N2==9[&)^9U^?EZT'O*F<,B<C)_O5/+IN*9@L_)4'_(' . F>WJ1!?+7 Z
MXTM=F9O#=%PQ5B?5]JH]29SN6L>9G]\7+N\J%ZEX*:'F%_EV-I:H+8G @;2(
M0B&:3QZ2] ^>G]_R_.P0#'(?]F6C9VC7^[(_0GQ/#=5 6MN*B,FKTT;CKNWF
M9IFQFGVL3&>[5A@+)\.SSIGN#L?)_-WTI% OE&LGC6XB#D9J)A,MQ-<[SA^$
MW$'('83<P30.$W*E\;CX/+O.K-JE;&'P=)8Z63FM75<^399CUW*JM79\-2K&
M\A,C59YUBB#DB%F<R1$E]0>7%AR$W+[LRT'(?5=S/"#DAK>3]%7Q(IDO7UJ=
M:6K2GZ5/C%VC<V0'RJ3OI!JK=J=_/"G%FMF4V4,A1TSQPFM";O_CM7]$@NQG
MU\;[!$N*"!;5=*%!]9\E<7>]"_LC7X.6<G]T_'15>$HVVJ5E<Y*]2>5SCSL/
M8NCQ7*)NEO5EN51(9 :]:ZVI39;=1 )MTF@REXLFLC\E<+J[RL]=<\5!-NR7
M; @:F,E$:Y%[JMSUR!AJ16\O&P/7WK5L:+3'HYO!E=D=NZ>-;+[=&8_2V0;(
M!HAP1M/9?#2;B!]DPT$V'&3#%NVRRTISOCJV,ZWQW(FO3B^RTZ?K_JXMH$;G
M/-W0I^9@/#]VBP_V^4GMKHQZ0P%D0S:1BF9?#T?^VU'(&?_#'ZNZ9 )Z_U./
M5#=4* Q*K+=ADRF=O@D__](=0@5]^C+90I,>3FQ"3.%?+AG,@I_6_DS?15?"
M6X&RM[Y(I-E$4A#NJ6E%G)$666F*%='6^HA&@-JBD?_^WN0=1M-7ND+/@]'^
MC8@F!RF[JEA6MZS.B3Z<ZYZT=:OT>':Y2LT*JR7$V//13#JS1M01<X#[6C*G
MY'!7<-2)W'_LB,6"UTO%E@/8 \)Y^'Q/(P=E$%:+])2)8O0U&*C/YA^9L$GK
MA!S( .1/%XKA*M8JPH[J*/*& TUN_T"WK,M\PH&.8DKM6E$73EM[G.?*]5++
M2,S)@283A6@^M2ZE=G.@R:-(*>Q9\N!G'V'1[M8&,A->=UM+M3"Y&L2;76>Q
M2)>3M?O.;^N?-]I4T6$_ZIJ%[Y(MJ?7('8OT$WI44[>;5&)%=SF.#1/YV[QS
M7U[!4>62F6@^OIY0QW9R38Y%%$N+:$\SK>^0$W),<C;DR(ADAP-;$E+2C8AI
M4-8Y^AIQ3"1P*X2H!'THY+9U"&D8JI]4R$+((@?F!#K!XU1]M^6G"-O760[4
M :=HJ(+U6G!UM\B'CR=F?\P4@UYWTAA>/,UM9=F.392GTU[B\F94)%_0R&'/
MR#<<R]4^5VE[VPW_QDL9%1+^#E-*^V3KE9FM_>(_R-/(DD^-:)>,J?(4P\,P
M^$1B$VW@_%)<Q^2_0-V2_H:IL?092:]ES\!OF(8<_Q]8C6/Q>;'O)>@JW^Q%
MCB=?LJE4?1$R/F1;#8#PV*;Q?\= @__5(RPUCBW)-OUG9MHZ4-XO2YL0$EQH
M@3&99H\?YH\J/:(PN8XF.NS1A7Y=QU%8X5N-'+(6\=_?-&XS+_KS#P?Q10>1
M.,H>..(K#X*N*7V4?S&W^[#M!T'T9QW$01#M2A ==OWS=OW]:0TO*Z1?VWC^
MB[(<7I:X.V\A37,BUO^[UF7\$_II9X_2J;W>C*(C_ IT%U*)Z(;M.)##9Y##
M=L7!5Y'#00[NGO _UNU4;,+:Z;]S5][.#K(HW&%JZN_R!KBOOXM0_'ZTD?SN
MM)'Z21+R=PG@P!:_QQ;?5Z'\[V\E(K_7R>^W[OC?GR$ =U[=]-(*1>@: X7V
MIU+ZKA?^B94"V7TXQZ_/=*0^_[V#7/3;M =J/5"KYQC^)L3Z#73I8K]/MM'!
MG"E-7T"&133B&N0<)YKZ/=6A3^:Q/X"AO@#.:W<IW(%\NF2WF'26?>-XFA^7
M4L5IZZ1>33PV/IY/UV;,<B,8R"[1 MR0U.SEV&Z4E?*%6I[?9*^-BI6[O\T/
MNQFLZ,I%<[DME6Q\.1/NI&3C#V'7/XA;/SW[]5W<>EM\?BBL,HM&N63=D]&4
MTEGB%GJO9__Z)Q%/1-.I]83S;V]([J"\?!\T\UW)JS]PW7MJ<!XH_T#Y?Z3Q
M^H7-+;X^5O0FO^B55]/Q?<, ![OW>]F].[QR#J;@#Z'@;TO W],X*JH+J).T
M:5EIGY7?V3]&%3R$)WZB;?/-':PO%IEO=M[TSTWSM%.MM^+9B^-1)9%I+S)V
ML9L'5VLJE8X6TJGM^5IW3?D[NW-WO?"#4?<#G+0?Y/B<UKF:D[D_QL\*\VKU
MPGI.YB<-PO%9P =)1E,A& 7?RIBM.2/-BO#VVA/9:/V.AL'!+OBAENTW53@
M/EG('LDEA&S'Q([TZQ )=%-7KB_KS\O3MIOH/@^JN;1[<CVDG0YSB5"0E._)
MN@>;_H?:]-]4<_A]UBUG[-M2_B)9+)<29CGAWIV/\^>L8V JE8IFXB^E9GQ/
M=P;5)\B*8MO4*7:]RNT[-7;=MV /A-9^-KIXAZ!#S*_DS\DTWB</P*[)8 _X
M8R_WY0_3 ZJF\295('^A/5?*I8H27U63V>ER.DR,SI>\35(RFBV\Y#G\!GZ$
M/R+L^-G7_JY!L/= B.T#(OK>R*ROC7.$B*G[XU[OJF#>VF/E]'Y@%5KU6^>A
MR-J#I./9:"Z3.+@;#ES_":K+KG=A;YC^:T,=(4P_R%:FA?Q9^J*=G#9[E4XL
MU3V_&_*^'[E\-!-_B>E?1/:'?\/:=<-5Z'N?1,.Z$6,H;?&CEXG:>Q/^^%82
M7YLW13Z3 -WZ$TVQ@-I'[.."F.$[VT!TVUB1GHI[!,O!_V. T.+';?O_?'AT
MPG8 P&/3^L493UH7V^$D\N!0BU&X.V5 /OU+F2R5E<TAB_.T'R<R]:^X;UZ9
MHWS^?R+>C[ ?:YL)6,K2EOFPDNE;?K1D]KM7,/?8N3CF;#N'DO01'NY^5IS
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
M7#LL2B [ &$-6S!W1Q:_4Y-8V(8T-"*S8KKX$,_R6SZ=3Z9KT_"L?4J5^"0
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
MW"LX[C&27(Y!C3)G!QI&.4(<KO*#[Y N/*(SD1@7.C@Z^3Z=NF;M_JY"S-J
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
M/T]"FT1>TTZX>+[241K:Q5^\P]W.2SAF3SH0C-V6)Y++T1T%"H8LD6E^H(/
MH7Q--CRNBGL(0&:"--W2&9(B=+N?._J*;P?.*[SM>I\#-5B22CZ@S8Z=MA+P
M\I$$WR0K<=>#$T_T>A,X;8DU\-/AYOO.9$7_2_'#G;GV 'H8P!ZBDZC(<,.%
MPR;)5$MKIH/EZ;-[$73\+]OM^" HIN[=.7T###A VJG3K![OQ=TYTN <&M5$
MTDO9;4:!.*J,^^A+5!_?8;^T.;1KFCO7L]-L&OT=6J) 8QNW<_/N]?CXEH?T
M<&0?H.@I#YH_>^)DMQNVGY+?ZN>,QS[(M/N.:SIZ[=J.]?0>2< 2*)H<CMHX
M-5W#_3O,4Z4\6##]"'(PDX7JX[L#*XY/Z=AA7W[[S'<#1,(H0-U.!VS!A[W^
M2_G L02,1L#GQ%UT'$.+-R)5L?#PX.MK+;?31MO1"^! OJ;C.]V\29B6O-[3
M"K&QYXU\V-$&=DG<MXT]E(8QI4A?0FR:="2A*'TE.57<5W]>47Y\TVI)C[)#
MTTX?T2D?6#CL6M[8#8@D!'P3B19)@2<B>Q'=LKBG6'F#4]VY>GMLE5(KWCEM
M+P)LR7$S^4?Y(5E)6^"08:.T20^95V.#; ;5<NLU5*28%0(4\ ;R!LW3+QQ]
M3P71]R#Z?@N1WR#Z?OU#!='WFXB^ISX6?4\'T??7_:P%JEVW) .GN)]RMLIR
M,9M^GO>2<ZG2Z58KE<=4LO$UG*W/U-GJ'!6,$,:$PU[5I9I%=N;8M6[PIK"+
M0R-[<\*P-@W)X)YWQ!3&UIA@D6E-6)*!HP0=ES9B]#_&=/KVD5L!>Y .2=-L
MG.UYL%Y':C.48& G[NZT1\0>9 5OZ/2VJ9)+K RO+:((7\0A$C#2QCC"K8^1
M^00^-E\XTHTIN;V$<<L_T[2EO7WB)N72!MI7F\3(VYM#N;.<:.=D%RO)-WG:
M?UR\-$PT?P%Z&V,KP[-&1UMGB*7?7V$9V$VQ10B$*,9Q7V!_%MF0#"!"-BD!
MQI$GR).PMW?R?:SK>Q,S[\ &\"YYOY6KAK-^O4@S,?@4<$Z[<Z'<HQ^0 75S
M(KN+7 LU7Q#@PLZWKM/0V2NZR?F"VDWLN<EH8AF7[*#=M11!VT\42CZ%6^%!
MK3*<)W(-K<=O!:G<O53/Q/,RK#EE6%T?.OJC^C<7"3)/;)18L$Z*@J\7OB_Q
M@6 @E(!Y<RX[7=Z9 TP&79)%.@UTXJ<*.-9"7PHSW+!;S0G[X"P6FH[DCK&<
MPDQM.JARQ[P_"+D0ZB<^2LP!7*^08.Z>D#;G)_/L(?:"-J)B)P^R[R>2#"X8
MB,>OJ"N1.L H8Z6>&\U+X\!O\Z+ -/#"F*3";*=SO9L"0/9*<XA,7P-<^*MS
M->3%A V>A!<]S?X,!/P&^@*@<NR'P]Y5'PSP- 3/K7$*,JXGV'>I.#=)QGY5
M=. 1$6DS"K7#9QX^"_%,<C+R=9+$14'I=[5XWR01=HC.R$Z/8(?+X]WXDZ->
M09%]1S2,;G"Q^I4;-DE_\]T)["&<I8:]>WOS&/W34 ETB?M<A!WBV #F[.Y
M"S(N08)\,SHF$+NUL%?1704*-XZKO&-$<@@]8B\T^ZR/W.&R;HC6Z\V+3[B>
MZ2H2U(3R )]P8/08[5_)VUC& U#8G?#-X=#@;0BF?#-=F. 1 JF,J)*>QOW<
M1\*.6,+95Q#4)JCDBF(?CSC JM-[</SO"WN$) =.Z"*.>)H""&BF2!O:<MJ-
M'CW;XI0 %!K7@RZ%?E1D%<]C]^5F0AS$]2Z3#M5;L (AFX49@7L5S$$<IZ<!
M<?((NAU9(X6J^(@:WHR@R7ZGO),617G*Z8,>-%"GE^5>M1> PKY22%2DEXA;
M<=L&]*$F+<GQ@.A]U<Y/D#30B%'7.P'.O!%Q"N=>VVMH (X'H= )K#!$FW(0
MYT;0 <GT3U_<!2"'?H.@)Z)K$B>GDT?(92(@XM@F;>C^N?H6;E#-:[:)Z+9I
ME+4)(!6ZW#+B!:<,0E.=E1\>C$6QT%7C5M)ZFML#;GUHG1]?1ZSS+Z&-*50;
MZ[BHCY@>F3:.+98]69EK/I3SX4B:06\2)54>7U5;:[IZAX GNT#F!I[C&SJ^
M609(!_$/&4GF"4RHL2!4J2!+8RHY^3H0/5M@,^$$SW*XA7]\+W =OSAQ!Q&$
M]L9L(-X*K L9;$V-J0M;)AZB'>'A57W=0(;CO20H2/EH&E/$8U[HV&!-TP$P
M(AU;X9QL#3$3'4_\Q4G>E%_-R".0K#.FD*AP)?F3<2\1Y"^>>H!,7:RKN,D_
M.P+:X]B>J-Y-/J#<"-03,H87?>9F3H&F@=/?Q[(QME6P?,>2/VW>&95@+T0\
ME)T*#(<+$QAY,@4]"6DOLHEU "I@W*NG%#$6# .'SEQ!!T\\FKCJ)$9ZKX-,
M+*+OTNC7FIS!I-X#H@81I0XGF'E,7/:B?R%W7OMA@/?-ZR7#NW2-1JU!$&,/
MS%S3U]IQ1OT=HE_I(/H51+]N(?(21+^N?Z@@^G43T:_TAZ)?''OZ+:^JY<<$
M6!!%>\51C2X@XZ9-MPR=J**^^M535E0D'&O6E1&OL<(D74DF>]6MD&L?0OGX
MNB]D1:F.%24!\8(%#2$=T9=M#IJ_[]ZN:C:5P?0 YYGG'"IFNEEGTYDNSS3T
M._S7,!N#L: X%QZITAU0XSO@J5&9OWKZ J%;*I;Z.^1WYA(_-M(QP14GRF[M
M@ILY3JORD%F$]6;/H8MN"ZW8OS9<SZ4X/D4:-@L=33>F_@9::K:3=XE#/\3A
M8;C' 1\%_ K'D2<,M7N]A'B:XDY<-J"<NW6\LB_#,N1XX/<M10F778$79B2A
MO6)O*[GX"(>E"0LVJVY/9X>SPNX8!"5']0=3DZD(B%L96RR+7H-9),RB9SBQ
MAJ.@<R1S=XR,UA"-13@><"0B(+V3N(U,6 $"!-=*Q%+TNL%M[$$#T@NQ/4US
MT/=W[AX.#O8JOG%A-O'&WGUH]Q,]&7)[!7=$9!=FMEE,GEJ;[M*],[HIP?B(
MY#O80D6;=;]#<BH/A[BA@^]_&",8 @>AAP K"C*"O31</._0,7]/C8B+[AJ[
MGF4_$T1LZM;*6:2KB-+(J=$51-V77BX3&]*D308941:QN8P'\PE>Y8",G@\!
M8NTHWK[#)(?P[>G)G NPFI'VX=NN5W=B$@FE+HAC2: &L&-/=^G,/?#M:,!E
M&=HW >$<QH._NLUBYV\GR7J/F/$M8Q\DD>[4U8#W<3TG?'-LZ13_(Z_B/Z+=
M5(C).OYH=*\CZEDW7<1GXPCQ/7F,F6G.H<2,5]/E?E;SU:%@G';^0F.-.<]9
M1<C#\9(0Y[8&CFAPWOXEC/'GQM^>GX%4I9%(I,</?)5E[F<[U3!C&@.$<F'/
M_3[VCDL*B<&]C4&(]]DA@:37S^!<4X)-_(VHC#!F_#ZBH]( *2Z((J=Q.A+X
M"[P(9A$$I?$K7\K&D;VY+\6)\^ #PB2K(X.<E@=19PR=($UH%Y&#2-.]-4*]
MQ#%%DJL=@>J(I07N5#G>E:Q8E-*3F"2XYP#'";5Y=2;NO;\;4G04\+$;. HW
M3U2Z/&B]4XW@W*[#XCS)Z,@WIS_;]=C;YXTB1;RA"RK/NZ4CTL9\Y!QV6Q(3
M'BDQ2#N?&H**R*!KCRR,E#$V'HZS?S-A)H_XHD+*RM!UGOHNT_3:,.QQ!"?>
MA4"_A1)+P )W NJ$/F9!'R.2MX& G2#E -!UQX$IC'2;QL#I-Z#*$@:6HJ?:
M)DG>.NJQ1.MPR0+& _\37!"3XI"06UWL3_4BJ0(AMT@)HSA-7  UEOX9>^O=
M!"]5@&I76Y3V*'>?<&5GIBT)F2!$A&"J[QB&A.N<H!)K2Z\5?@&T%EWPF(>7
M0]S@AC0B<?@UYOR'EX,OSB3Q?\LBB68XUH>?Y>6%^9],*\0(EW>O<*T;N 0/
MV5Y@^82\*%YHKYKQ",W+^R0_D:%%+PG.^&@>>TL]+2A"HB&("HBQX"6!N/>-
M]FKH2/- ?\%I&WZ,<G-$?N/=T;V<!^ _N*V$[L0!'$X$A'F2>X6\\A:O8M9)
MK=@_S)&S.(0'S-/9@\\&<-7.S Y_E+X9>_R5TIQ/8MNN 1U]E65'$=L%<ZPF
M0:-JSWCAD Y'<QZQ)J,K3 89,MK44;#W^*X"WX<D6(>E.+$;4T?0P7D]N&"<
M/'),'ZF0MY)L($$%Q@.A(3=="S&+B8V6R1-7_=Y[ @1!%F<G\#TB@UQ@4L4.
M-:6TWPCEU@ZN3J@J@#^F>H!KC;MBP.773JJG[&3C8AH(,/XW,+X!6$?UE'<@
M?3*$5!L<1T6*NR/S*/YS*1;A?]F/R0C]R#(<O7&^Z6DL+DE0_#>I)"7=F.ER
M3X(ZE$.IB33SD''2('&X2-I,P/'T0ZGK3P]PGNRDE9V?%$@6)GC\9=5M4P7$
M#$T?/O*DV)F)BAK2SMW( >W\.NWX/6#OH)UTB"F3.HB>L/'$1C)VC&R\E<?(
MQ94@XH[R[Z9,0-1GBLQ4#\*T L-"SZ/^403C,;I*7T;9B9R$"4Z8H,MQ6HRD
M4IM!E:!5"%2H@YKI=!M &\-"#6U.F$X-:>JTZ*+5W20=PY!-41Z?,"]_C_S.
M332?(XF^84)&E T2,H*$C%M(!@@2,JY_J" AXQ82,E[+L'@U9']4(AU\(CC#
MFD;)QJQ:S*[2/,?RD_EF_LB;XPQD+/P@3,)=R;V4^WQ"?XBS:GJ0F$7'I4FV
M,T4K8_LKV5$K7QL(\I9=-H<+@5O<<ZO4=,@=/G.XW*S"=E&/%*JU]&/.ZB8%
M=95!*P^>.4O-!#W6'RSGV_83.V*K;)AEU\/HX3-'U=PD,ER\S N)7JL8[U:L
M>'+=1BL/GOE@=7O-KEA9S!.;:%+NU9^S*2$SC W9_97F4[*_*#:G%59>KI;#
M^%BY3W36P_CA2BN>:M^7Y$Z+E_B!71P/2EM^W!XF#E=&U\8ZNN1R"U8V&VI\
M--,3J>;1FT]LQJO[W%.US3;MZ7,RU<IUUKG,L9N?/-:7FAY);_CP8Z%0;X^'
MFUFS?>SF%R^=TG,W7JBS0J.WF$;$6G^V/7KS$WEN=)XZVW*AJ;*)AU6X$!N6
MIL=NOKYZR?%RO=CGJU9<J#],'I,C+G/LYD=\)[5,5-:#N9Q[2":Y27P^?VD?
MNWEQMN7ZJZVES</)6+JRU%/;,-<^=O.9=9I]:D^CDT+.FDVG5E>-J['UL9L7
M2T]FK!X==]CF?668[2L/\<?<^MC-+W()6YOUN39;4O7U0TE3!ZUY^]C-)W.S
M47Q=6W"\_3QHL74AG6F8ZV,WKVYFDXDHF156&LP:PT(F5<R;1V^^U.838TM:
M=-B<G$TU>L]%EG\YBO-LKA=F]47SJ5 -OZ2YIR:W13K;T9L?;9;M:%LW>3O+
M(84W,WW(V=-C-]\MA NCY/QEP]K#9ZE5GRW6880A1V[^:=DI#55>?T'LH5+,
MQKGN9K,"ZCC8I\@*U7QG.JCP77:2"+^L&_7'S%$8-9Z79G6S>.CR]KBXMJ<]
M.6O='Z6.QH"+=:U^M5NH6F+=[NJ% :^OC\'HR>PG53[6[/#V2YWK/$3X35DX
MRI<*K>:X)+1X8\YUP\7(.#+J#@O38S!J)]GG<BK,#5AU-NX^#EYTKL$=A=$3
MUQJ4J\UAGJ^.Q$%3'R2KU>51&!G<?-@JL=J*W=8CM9087PTM_2B,=%E_B)0*
M3RS?3(K3!W-0#@]Z1V'$BHM2>VRMUW.[OBU4I"[?JT6FOIN_=");!B(G8*<5
M=2-G2,B&K>%6:X>9:U8VNLJ/VD:LD#"%GFU4T$TM,H>9:\?772MS[34U)'I'
MM)!,K=;L(]VPP("2E>L4\N4>4VMVNX7N)32HDUX1%Q;8:!]C:#B=[_9Z]).(
M%QGM1>+=.%)OTA$(I*#6$$0(^!T; 19BU@(XU_'H Q-A$DX7\;[KY8QY']XQ
M_5>_LR8-\DA/ M(S$^U8UVAG._(XA,Q,V.W02F+M=TQS[U5O/6MA2'B<PTX!
M+&TCL?OH/][5ECF-&1KIFVR220$T7#;1:2SUYV\FTCJ#5!^<9NDN>L,PU8X$
M%>Z(S^S/9SW.D.@$U7"EO,X4JQ&S$%:2[?ZH\C!0V?9[>5I3<_.F.NYEF-@6
M/V1W4C6:;\AJ(\:6NMN"J>>B#R5]?2$&=G[4>M],1M\V$NA5U%T$IM.8."8<
MSQCVX\#\1^<#XL7!G^SX>MB%M>?I.?3;6(:S,=]DRA_O'7V=C-Q%7IOZ[3,'
M?8^' !^$YIU+<WX/PUC)G\0OMD;7]*9+RC>+T5TJC$P=VN1<Q&GXGFGC'QE,
MZQO<^;MS6[EX (@; $0$02( Q T (J"(&P$$HHA(,H#$^2"!YP&_.K7Y0S+Z
M\PX-RM2!Z?<I,]S?8@9_PAV\)9E^^PY2;X0EWG(!9"PW_DU\ =%(B/S@!1D"
M++@T-_XR:!"PP=LC@$-S^35($Z@>_G\F<B<,C]K;5 N(+#8,3F%AG R-&Z8$
MB!]_%=9W:Y ')O>U01\-V-VM(_T7N(.;U_K^]54XW-< ]HTK=_\Z U/SDBU_
M_L]X+$F3R>>"_94H#MJ6:9X-F:]]4$<FGTL3^_SC^% 5!T#\T>GH3HHO0Z-K
M18/.FH?&N#BVQJ,?AEV:SSWDN_GA8ONXJ873]P(?GAE;;C;<+%8UVC?&B<AE
MS&%SXH7@N(N$X+:%0CK6&_$YGM,&654P54A2_\&(TEA6!<7\OQ_AZ \RG,_Z
MOQ_RQOJIV:JH6_3O![$ZBMA>0*X$^)PC4=P?#"2NH^71'T[&Q"HSZ/++<$0N
MA..QFK:L]Q_5U7H8@\R.2 BZMZ12K),.[MSL^9C]M>F#^:797&?1;/]@4KI,
M-#LR':RKYG80+0@E]EG6.NVG83[S>:24*\8*_?9CH\)W>_<5(QY_XMD\D%+L
MQS_I1"24C,5?(:3;-PY>R:?YFLK?N87C]6S5M\@;2/JO0#SNI++D=7MD36SE
MD,Y/DW@\*Y<:.;DR9V5!;B1;*36>'&9(#F@L'4I'#T7EWU^3-JXH&/]H,OH:
MHO$WR:A8S79:K>?!IL"MBX_Q7IWETEM(=T>2,IX(I5CN-3+Z;A:G)EG?1I^^
MO+VYRQZBB#V(" /1;=X ?P@,TG=HT0W).LT9AJJ<M?N/C_=L(E):JS%!K;=8
M*"Q" C:=9$/I>&",?HXQ&M#9UQ+)'Z.S9R$\BV[7:9FM#LS>IO&2:74-*%$"
M6Y6-A=*QZ%NVZG]P3O0_MSI _5.* 8[7@MQ4(0#,)MK!1&?3/=WIS^>@9#_\
M-#/BE4)ZSFVYOKU<R0(;RURD'(#-<?=IH?7$%^1B7;]/;U*M2C,H!PC* ;Y;
MIF>0_/S5 1&4 ]P(( **N!% !.4 03G M?-D@ERA+Y 8%I0#!!EC03G EV:#
MMY84'I0#_*F0#\H! G87R/LOH/4%Y0!_DG+W+<H!CL=Q@E* H!3@/)D7'PC"
M/8ML>_LB9N)L;E"<Y_B7Q7UZN_[$+.:'ROTP^5QEV6HF67FV4B\/ID$+ J(<
M&^(BD2 #(R@'N&J"Q0?(*=OG,AFI$ZORB;8Y%Z=YQ5SU/[$HX"%EE-1G4:_-
M2ULVE6N,Y%BO,"5% 5$N%8HE7DMHNGT3(2@*N%EGQ0UD,W\E0?F;.<W9E%(1
ME[6'T;RIQ=*S1>M!J'6GI#0@$HHF#VM_@LJ K^/]N0%:^DI2\C=I:6ZD*[U<
M,CV;2UQ'F3WTRX.2E"'U 5PHQL6^7WG R4S";Z-;!Z4!@8%ZAL3E[$Q^VIA3
M@5TJVVY"G\G]C#0E!0+12"J4BB8"\S0H$ CLU[-0VR!;C5:[I?&B4+*Y?+Q1
MB9<$B98)1+E$B'V5VH(R ;*O5^<\W'JY@+/YLK-W#W4HBH[9I^?*<Z?68YL;
MKAQ]J51ZJ^3T(F4#"TM./N@5(UG86J7VJE"N&_Q\^L>5#7QV30![EPHR;V\A
M\Y:[BZ<"0-P (")!2< M@"&@AQL!1"1REPX@<<62@+=$])^0+/,6-[C\V-Y;
MO)771=75\X<R%G$,'F2(GRV+[":1PGE1#GUI9,CHP?>2LI+@9/ 203/#1Z_Z
M<U#F+6[^5; FX*(W2#"_"_N+IYI_]3SS\Y48W  F_ ;G? U5SLPJOS;"_&9A
M0L U/TO-N.T[N'%-\WQU"3< ZD!_O&;5 N%XUPX'OQ%7.E_Y N#[M0][QO21
M/SO;^O=S0]X."2Z:AI1^BCW4V/ZXT3);*C\JC#YSJL%#26UO'XT-FZMVQ/;F
M.5;+<U-2Q)"*A6+)PPRR@%!.J;9_,*U\1OB\8DBCQ5.T,65+V7Q=S6G1V735
M_CQ:*2ZT>FTNW3^P2_V>RX^>UZT'@8XM0+3"1L\YM> *IL*E*Q0^71D\KR2\
MW9SJ?5('-37"G>/@7TR#_TR=_8;QX4ODV'\^O__-7'NAUGV8#A\C%MMM]FI1
M;B1-6K$UR;6/A*+LJQ,MOJ7==*ZD^^^E#/YBRCU=8.F+VV(F@<UUWDQA-CJ1
MIYW2>LB76*L\*XPC#<ZB>?G?W>+Z,K(]H-\_2"_X&/U6;)63N'RFR"Z7]E/G
MQ5HKB4J&9/JGN%#R;2LP2/3_IVG-).,+Y?;C_?JR[BDFSOL)P5K*K0B[[3T5
MDN%HHYBO7V8.@%[++I=SP=996^BLA&;'?EFRF3\NH9]L))@#\'WS.8.NYU\=
M$,$<@!L!1$ 1-P*(8 Y , ?@VCE'09/0+] 1-I@#$+2*_0 :!&SP]@C@UKK!
M!TGZ?RKD@SD  ;L+Y/T7T/J".0!_DG+W'>8 ',9O@A$ P0B "V5TG B^Q5*U
MXFQ1RD;G"6EDCJM;^Z%>^,34^<>'?#LWN%^OYMWQ:EOOE\,OXSCM_Q_ATJ%(
M^K5(\!<GD)MJL/C'T-+% MG]XD,UUGJ6^;DT4XMZ>IM5(B^?.$MC,LOG-&V\
M&/)":[408XUN1GRDS?\CL7@HFGRS?>)-VP5!\_^;]5#<0#+UEQ&1OYE!W0D_
M;ZWM8#3@PW-V;7'SF34?MDGG_W0HG4X'G?^_L+_G!@CIR\C'WR2DB#Q%#QB7
M8SSWPF42X75!7!:=4H1(*)5,?;N^_T<S!K^-.AVT_ \,TM_,2S9;*[Y5K'?9
M@OQ425<:XY?YXV.&U!5$(F".!OW^@W[_@;UZ!E(3\JE.]UXP,WS3*FT3@V6K
MU!RW20E )!H-Q=*'\O=&:@"\A>G%^].O]C9)$K%\^65C11(,H)B9DX_M(#]L
MX1()9B<=\%'60W"*Y,5P-+*?1O;_=M+C7!J&G'3=^.D0JN]<-"V/PS0[E<(D
M^TZ8H%?_%)2UL#7I.5.I.R[F*.(_V9U]Q>]2J7\SWH]P'P>7">GNOBO;26<G
MW]I-:*>?O9$"2.$"Y4D7 0JW@W;X]A,N!/Y7.)+^A__$S S@&__3:^:.8BK\
MC' /T;&R$U"B'_WX!Y=+0+U(CE0(F"[B"F<O9SD1\,&'C7F'?2WXD\LT,OER
MIL%TF[5,AZA]Y4;NSHT)W=9V&\U>H<OTFDRNV4 [+N<SO4*>*98;F4:NG*DQ
MW1[ZH%YH]+I.TP'F+P"$K-F2^/>-'JK8[#"]^P+S5,ATNDRAD4='RA=RA7JV
MT&&BD1"#)!?YGV.0_&-V$A$^Z2@1]GUG^:NL$23JS73;1+LU@1;XN^X=DX>J
M&IB-9FM(<*+/092N95-B9$U$BH[EA]#K+'V7(1WC-((C&Y]BVT[A?MPLSL/+
M^G;9$BV-7ZV'$9"-F";=E:-,U<A$MN:ZT-7SBJ06XU6U,AURARO'NG$_J#R*
M'3YA-3?YEJ@U6LC<C8)JN[LR:[66L^*B$^$3BZ6Z6L^'HVQXBE8>/#,E+;L/
M=B>MLN%BWMSRD5&ZV*+1F]V5B1?M10A7$Z5Y@GVI2O=*7AV]4-_T[LIX7LAK
MJ5JIQJN%!]%>9.X;59-.MMQ=6:R/[+0Z[FSY94I=M:N9?FS;:!,#?G=EA.LH
MJI2+=OCFZKG[*#Z]K!9S*!=F]U=J+\U%>,JG-FQ.Y"RCTGOF4ZWV,'FX<F1V
M%K%TV'J<YWI)<1)OBKQL98:IPY4/J5G9GHEZOV"_/*6&>J)?WX[7P_3A2K-<
M?,X^J+DIOQR,9J.'O#[:QMO#"'NX=)&<CQ*<G3#X[?)!&697CT\O$;0T<KCT
MZ2F/E._R:%/(Q<SB?)M,L4U^#0KFP5(IOWIB,_%(D>W.5JF7[6:M1:-H:?3(
M357$:2/W,+TO;!/%;'=ML7:F@);&#I=:<E,?VGHU4RBM[]NE6&N:7??17N.'
M2Y4G?2RWY4EO7JK:]L:(U6,/@^DP<@14ULCJ/+T@\IG;#[WJ5,H:5GB#-G $
M5K5X=5Q.:+DF'UY):V-8?"Y+=;0!#UA(.1L3EHL5;*=@T,I&5_E1VX@5$J;0
MLXW*(%E=9(:P-'(!(XQP+>Y]7"MZ1YA6IE9K]I$H*3# DW.=0K[<8VK-;A<)
M'<R:7F5]EQ4T)\L?>_["5(84-BX,9,D@Y0-7K8YG@C8%+HM_$UR#YS#VPV 6
M*HDPS!+6YG05Z2Y;+$J3_S49@=HE/K\78QF"*(48X?@<S/5K'3NP--/W'&F_
M6UI;+7>7VZP9[\V7%KLM5A+JICY>OVUA':^*/5']FBUW&T^I"M<N2"]LG*]5
MK>HX?P/5K[]D3GW?6MA$\BX:E/[=1,7972R8,G,3@(C>Q8+Z\)N 1$ 2-P*(
MQ!V7#B!Q/DA\,*#[II3^W#SQSXG6O$'\UYYX]3F7\)8L^C-NX5-0X;:._!;'
MO7I11,9GSOY6?43 W*Y]Y"O5_=PZ;[O2M=P4:@3,#C.[KN>O<SOL!DSO2V/V
M=V5ZORW7J=^7^/L][^]Y:]UO"A4")H<A[_9O93H[ 8B T=T:=M]6WPK"TKYP
MWXH>!.B^"F>[+=@3IO:%84^J%#R&%S"[[X#PYV5M-XR^YVI$\JVA>/.:U^\U
M&*%<Y]H5'5E!P<JC@!,:G6YX3GHF>S8DO?8Y#QGNV:U(%7U3D?;TJS^XBP+[
MT:H49_GQE"5:DC+45_%2V8HTY[E5MABUY\K(N.*TJIZM/82MEL$5NM-);]$7
M7_B'^S8I!XNQ(2X=O40UV!]*4U1O#6CJHY5>-.K3TUV7Z"OC7]!C]LK!G($P
M8G'>3F>ZZ\)VPE4&JIJUGV/7J\XVBMGG,3L5N_/N++PI&9O\N/!()\1PJ5"<
MY<[7R^33;02WM@I7_/SXIV7H0% (H0ZR6\]5HGT3[KU/D<K?EUWL9Q%'=K*(
M(Q>1R+U2<5QX2B=[A?!(2>1J>D5JQ#\ND8%3_7Q]7[D9ND=)[.DYW;30YX7-
M0M),":\80YZ2+)D-Z1BOR*>FU5BW]?3"V@]V_[G$9P>K*11M(#&=#$62D<M)
MZ>]-4!>WTKX709U3'"L9I5A++@</\W!8VC9'U6YU4_^X.+XHW?47E>'\832,
MSTOBMCDT,G)^W)@BND,R.A9[;03C%S2G]V5VWP#&H$\FYV@^]H>J_+=H1O_W
M AV6OK#@=O3YU[>6ET0;WY1YA$UH4>O)GMFE06'[T$^U<Z54U9JLARG<5"6=
MO$B_LC^4H&[1AOX"!'6#@OL,=)?=:-(TUANGV66CSL]JU4(^M0&Z0^(Y?NBY
M^O7F9E>WGQ'_0W2E,=*&EHTBE)?&@=G\(2G\9S4]_,(B^1TZ/26( J6' B8'
MQ"+09^@E1WA%F;?J#^KS3.6E=G.^$-?Y&3?.#--81L<.#>CSR>CO35M73\8(
M+.SK6]BGJ'&?"$OY<2>Q2:9Z['+9S+8?XO?+9 ^($%JBI<[8O/L6[.DWP].1
MP SX3G;UYX;2+B/ ^2T;9^</JS(KS!\3+]9HO'D<7*\5.%<=;TO+5'K-<[UF
MG5V&A5HY-85V01"?3H8BW$6ZE?ZA1'6+MO6-$]4YQ76[]) 69E-SS%:5[48K
M;>7GY$OF:K3W5,M4<ZP17O'+YX=6]KZF+3?0?8K% >ITB$T>-N+_N@9V$* .
M M2_H.US.]K^AWN&OTLFSU-+W=1LL\=7.].G1#OW6&CE;RQ0EM3+_'P>GIGS
MA#:O]5L;OCI+X69](*A#T=AKO"*@J"!"?2Z*.J= ?JH9_-A(-\VY6BFQ6V.S
M>&'U&\L,X:8I=LBW6[.YI$M385HS<Y:&"0],ZE","X+4@=[_!8WIS_"(?R'A
M?89@V:;8&J>WSZGL?)G2-YW'Q<M376W#^<$#SEYFJM8?2E&W:$E_ 8JZ0>%]
M!L)+K+OW*:FO/!:V9GLVZ4QK7;&,NU-CKW>(.S(!-@A5_Z'J?A"J_EJ"^1*A
MZH?%L*2L^[5X(9?H1>\?GI>;3!OWJ.>P3A\]='H'T>IO$JW^ N1U@U+Z$E08
M>V@.N'9Q'I[+FK)XTMA,>5)J Q4BL9V*'MK5ORVSKZTFOQZMYKZG.?"9';AN
MRR"X\7F:[Y+BVT(A'>N-^!S/:8.L*ICJU)"N%Z\V!@_17E:,/\[[E7+=6$O/
MI8V(1\: &SP=2D?9/R1>_9GMS0*RNI+TSINY9J4?ZUASN3C*1V0U%J[.KD=]
MZC8]?];Z]K:P9*VUR973^<8F ]1'!EY'D^=WA@<1ZR_/1/ZTF/7^:*9+R.5P
MI;S.%*L1LQ!6DNW^J/(P4-D;"YVEI7[JOB0\CUAUNFE'ZM;]PU-M#4/;<%5U
M-/4MJZJ_2=_1[T53YQ3*CQ-Q$AU4ZFL^H70J7&'4J0CYCZ>1793T^$U-[PS6
M?'3>%?E1:]YMWS=E3'I06!U*1%]K._0%C>L_+6K]YQK5G^&_^T("_ SA,R49
M#0NKOL#.PX^3^#3ZJ,Y6SVL8F(K$-!=BDZ\6>@94]1ULZB] 53<HPL] ?&*B
M^)#2%I%>H6O&'@<E2=85"Q,?)(''#EN4!8'K/U;GO_G0]=>R"6[,SGYOB6=G
MU#*?%ZM4H; TE.F34C6,U3T>6HZ#U_'$:SZX@,)NN_%](*>O9&I_.'H]C,Q:
M;590DH7NLOR2;3<:2G$V!3($7WCB LU1KJTJOQZ]C@8FP04,[5U6%$6L2-1M
MF.!S [SH<^-PEQ'OD>E@736W@VA!*+'/LM9I/PU_PQ#XW0";L'JRQ[G(<W,>
MKB66;'-L+&UPV^%&9_%$*/5JS^* [LYFB@=T=Q/R/S)O<>.HT.,*LCX4V6'F
MN=C97"_^7>'LA/W<-EISKCYD$Y.X_!1]:0-Y@LR/AQ)OMQ3_CP6ON)"MG7"1
MX@S3S<DY&K:*WCPFOP.:R!I!@IMA 8(#'3F7* K-WJI0D.8I:<!%GYY3L_40
M5\C^[W\$_\JJ>)\V-L,VKZX6W-R."-4)#RMC^RNKO>*@&^YD'N?5?"6]89^Z
M<F&^'G*'S\Q59E:TVWU)SN55.MQ8]9M*KI\9<H?/Y.OV=F;E(RQO/S0JT715
M[O<;[6'T\)DOJ4FX46!-88ZV8(]?!H-YM0HK#YYI/B[U<DE?OQ02J5XKV67C
MDXW4'L:&[/[*IX?$N##5DAL^O*I5RZE!/I6*M(?QPY7]6+["U[*S*K]M=%>]
M46R\2:CK8<)=N8,A'S(IJN7N<ILUX[WYTF*WQ4I"W=3'ZWUR+6LK1(>ZL<W+
MYEC1$=N0>N@-644?SRE-CH;E2G0=67-SA>^.A[WBPZ82?RXA%B$AZEV@AUF&
M+5W*MP5^+8?@7IL$%+LCHX_*C8="H]?LE M==S;0&<6%K"$BL7Y&#J8R.1<I
MHV<B,)FR:8$*CU@NXIW $T%\X=U<&J3=\4P2;45J3ES@4G;; [YX!+RU=:;2
M7*T?"U*^EM)*\8DYJ%T*O*_?XJ\P)\SMG>]0I6*,KEQ8F-)/YP?_-A +_^^,
M((\J;,(8 IJSD; B3:R?@FWIS@=8-R"?4#6$K/'I)70-?$*U'I;]-QS',IR-
MT1=&R#'?9Y0FHW?QUQQ"HKPZ\G@(6D\0PCF7YOP>!JWLY\B0$*M;HVOZ[T(W
M94"WGX:D(+Q;27O/I)H9?K&S5!B9NF);TMXY/V\\WT?$*SJ+^_]O*;'<&YD@
M 2 ^"1 1]BX="R!Q Y#@[J(!'&X #@%%G!D2'W0<OR6C/W=P[67*#W]7//X)
M=_ F'5Y]5FK&<@,*Q%2*1D)G'1?[AD@(L. K84' !F^/#=[6!'N"ZE]X@CVI
M!_X2K"^ _+DA'PW8W:VSNR]P![<O[__U13A< .SS _N7F-JU4Q0ZPII1!71N
M65#.45G$7:L48.=4C@ ^F_"]J=*&SVX7D.&L]5C+JJEY+II1>_E6(_+<_O64
M(C=.AG"O[J!>0[*:$R?SXDBB0J:TVC1Y-J(45"D]9"?Y"%_O0CB8^_%/-,*&
MHNF+) EC/GQM;&:ND$<4X'UT6!_VUF):J4W8[M!:K6(%KOG4_V2\[SZ)77FI
M6#V^^F 7UT_+]$OX>3K$_2DXC@NE7AUG<OMZ=E\WYF%9"R\,?2R9YY- 7UK<
M_#$T=CG9 GA5UEH$J]XB,B[;'"GY8KO-2[G,]JFGJ,,G/C/$71VX1#QTK-7Q
MEU3RKR=)_AB4OIS8^!!*KY1:O949]V*%\"KR$I-:PCA1!)2&O,YH.A2)G%UN
M7%M-*LJ:;,XDD9GJNAC8,A_0Z6ZX/.R[R",'.4N FV\1[_V#D,RD1_'J/%<8
M5+)*IS7CAY"GBN11.I8*Q=,7*9H(C)V ,#Y=JGV(,)*3=?%I^5#,LS;;&O"9
M0;(4G4^'N+5 *I(,)=)G'#!W[:C#=PTKG%V@!95-%Q=?QWMR*:59JZ NADMV
MF2LTEJ4A'V\8[:%3M\_%0NR1016!Y12@]XT)H>/HO:@,V64Z5VD5<E)S5DCG
M'D<U?CHD]?"A2#(=2L1>:_BX4QZW7WUVJ_4=%]_7?IW1KMG&R-I8L46)476H
MJL&%^?_Z(EP3-V78T6?JY!#[N-40#&.86Y9RX]AD4Y[GLM6*%'GNUJ+Q*71:
M0+@531W@%8-.>>FK.!N%?>PJTMS"3!3&>HN79*%FOR0L99:'JXAPH5CLL/_Y
MJ7$#^(K@&"'&D,R%-(8,:F4;8JR98#$"U(6! B\8C*1)QG3+F%O3DE23L71F
M:2,6-]GBSLA01L;?=>^8HH18KZ PP"A,2T78S/2$#4.*[ID1>H!@R>9DBW@N
M_M([H;.P#6EH1&;%=/$AGN6W?#J?3->FX5G[@XU,3I6H>=#B/L .28L0=&5E
M;:RK$CII1["@J%G7QHAQX)V@#\GI/4B&.1\HRT]I^SZ<2C41XLS'&?T^_*PL
MUS_^.50#_HTN;R(Q,\% $HY1)6NFBXQN6XJL(68@:QX4RA"7UQ 8.A+BU[;$
M=)%]((\EYB_@7QS[WW*GBW^*_/=O9FK+(F[JH>E(V$IWGUB2"*AWB(FR(V28
M-4+;M2%;EJ0A&;[6 ('.3=#[&!/9P9C(<#S+;FKI#=?F<^NNDNA$4\GGZCF<
MD]">-(\.=93 1[9H3Y*FDF>[\\Q:R:P>)J59&Q$XTA"3A_0=NOBU[,^SX2*]
M57)3?ARA9XAEF5^W)[9Y\6LQ<M%B4<L^:O-N6$O6A])]/+)H0R?I6/*08"XB
M 'Z?PUSB8B+F4K6VCUV-K6[7W;"ZG@OUW!H$0O3H$/D#?J^C#R8*^@!S$<3W
MD91 $F.LFQ:^1DVRT K$\5]P.>M*4&S**BZCI_V^E8]+9GR50&-%$@RP(69.
MY:QC(<!++E$*=#)5*LIZ5H"CU(6CW'[!S__;*61RG6U0/:P;/QUKQG<N6D#%
M8<-F*H5)G90P0:_^*2AK86O2<Z92=YQK*?UD=_85OTNE_LUX/\)]'%PF%";[
MKFRG\)A\:[?TF'[V1K$6A8NE+RX#%.Y0K_;URQ".%&KA/S$S RC_?WK-W-&T
M/_@9D0"B:&4G]8]^].,?7-@.Y)33<2VWZ2*J<'8;XD1J'CYL['V]"G*91B9?
MSC28;K.6Z3A]"W)WEVA8<(;M-IJ]0I?I-9E<LX%V7,YG>H4\4RPW,HU<.5-C
MNCWT0;W0Z'49X!,1[K_,7P (&6E&XM\W>JABL\/T[@O,4R'3Z3*%1AX=*5_(
M%>K90L=1W_=5I\\^2H1]WUG^*FL$B7HSW3;1;K$Q@C75//0_,,P0DLK(UD&?
M0P^@M6Q*2 L4Y3'2IGT0>IVE[S*D8YS&;6NR63TJR7YW:K%]9;V^C[*1N-W-
M'&L3\_S_V7O3YF25;G_X_?D4U'7.J=J[2G.8P7W_GUV%B/,,.+VQ$!$1!&40
M]=,_W:")1I-<@TDPX<6^=F):Z%[S6MW]6_K QCM:J2:(.E5M2VJ@98O<-9B8
M!K.2P@X7ABA.<HO"L.0U*>DJ3,RR.47==D#F!,W(K0N!W\9ZTZLP,;EZ,V?.
M@[II*@IIUZ7^JI+WK\+$3.=\EQJCG9$@5@QIFN/EW8X-K\'$&%DQ7QF*NX:P
MYB8=MU05 P75K\'$8-.^ZO9&^E2NY:?9FEZ<+0(]O 83,PTV1EO?;WTTZP$&
M&Z9 YRANS%R.;'18KSKQNA5YZ?7I$@A5"HU6.&;?'5 FRJ_;KK, (0[G>9KO
MO88H8[<WUJ9AC%="/Q>RY9XF.WJ92Q:B#'5 E&EW6U6!EQ!.% 7I8T%E#O1$
ME(B@GX0K$W'V"53FC,<O(,ILQJ$_$>3]VJ0'OB&$;&$O@&@Y193Y=$09_(%Z
MM4]4BA;P<?@93,J(!# "PQX(.N5$ CB1JD1"&)&JQ"=CRKSEI3_VMF448$TU
MU8FCR"S<#_DG  &7"W^Z^'-<KHF.I7W41>37[<8GWTU-.OG>U/9/O];Z$<@U
M29:@5 S>%;HFM;:)TI5D89W$6G'?6"<W1+GY8-:_S-V4LS= L4DM7Z+$/XTS
M/U>A;HB5DR!!29E["VR<V%1^]EVT9QM"Q^WV@K;1+&<5'0>%)XHRAT/+\!3H
MZO@5=1T8<3$EVM"VX#]P\,T$_K.)<Z8#=V(-OS.>R6V/N9_M2[:!=/NP=5(=
M3)%75H8/3]9ITQ-%X8'H7[O1MW#,W&[3SC'F&BN:TY[9D_<%+L;U(4DRPU*7
M)^&_I@JE>G!GMXANJ@=K@^]:DWG8,S7!"XUM25@K01CC_- 4ELGAE\>D[RH3
M><&7"FT^\H_12:GHR(7OQKW%;^LM4]>8W,P\6?;A$_PD4()CPT!H'ZZ8A[#C
M339X6Q\*)1-=-D9H487F(4(H(N!%1.*][ME^JNZD"O ]'.3;"K T@J"654C4
MQ -AWL.:\WTA/. 9X2B5H>E;XADE(_V\*S>2P(@ZZ21[.1A/[_Q_M#>^8G),
MN5S=KDM2UL3[?'6T<CVZ7>_$*$PL3F;(')&FIJDV?$77?$4;R$VA*"ZZA;9<
M6NG9VIYN;K'U$7J)8C(4>WL'_*$2?^C:BJP<%T[^"T3/=^+_OHWV?EAF&4MR
M.Q;D*[I<XE:M)BO( YD?[Y3B;&I7JY@>XS81+)7)T>\%IOYMLLEO(]0?EBV^
M)=2[9G90#+C6TM0$T]OD_4YK6CF@->$LFF%>#=?N,T-L K.MOI/?^NRUW:,K
M^\[[*A_EW8#,OVD+<EE&%+:%$2GS6V:%S4NLUJ,Z8S;:5238#(6_%Z![TA0G
ME?ZOY09_1OJ#7K&X+ZY&O%"KV\:@[J#$4H#2#SPAQ= _XPE3U,++>4ES#>&=
M)7CG#G&AKYE"G#+PN^%&1X$L!R(^V$]'@.*=SG< ,/P@D*]+4:P\KI:? ])H
M5\&;3,K&NG6K1@E!7R]U;,:E:E6(YL=D,.H2N/QNP;Y^DSP.9=,;<JJV!25;
MVS1(:S=T*(B%EJ&9R[3KGD&_?I- ,]=RI#*WDE&1KP3TWN>4]2("QLS@Q*7?
M?D1LW&F*ZR&:#=7R.33DZP"1!XA!S?,1]6E3"ID&+CS2-STY[A>?XCLYI "T
M^YF^0Y2_>U;X(RFBDRHG>W1GC+S*N/FDK'<+;;1C+DL[9X]1C-KD.I'B$U?:
MC=RWXO\^F7*X0?1':+$LK/&5QS 36RHN==AI*$->D^][MP"_3ZE5C9"H">MF
MT1;!D55C4L7" 0<HQ0!;>2E0M[ $2<8 ?(0=4LJ-I=K0-R[:%U1R$Z"]0K?5
MN0;X5.HV:"LD9S.SMK#[:)[7J,KZ*N"35J6DWJ2_TE%1JW:$8-PJ>]FK@$]"
M$#KX-M_2S"5.>M-\3[=9NG,-\&FJ,7E]M&HVY.5PQ?NYCJCM2OHUP*=Q:>D$
M.:>@"+7N=+/0Z2')[Z\"/JTE-J_UL_FJW)KH=5DI6=5I@[L&^.1U*7'&RX6I
M(!KAGFKH-=XHZ-< GPQTHS>%L3(4ULNMB.6KDW;%@?U6+D8*S(:GA[)2%EI&
MD.VWW1FY&7:N04,%>=%S!6/?0_MEVUW7:U1O.=1/H*$>1^IHB0G\PI)"L_,-
M94VY"D>;G7'N<F2OX@S,>J]%R8HR=;<^MA&4=CC&L,NAON29+7-"XW(?UPH-
MQ=,T8]J!*GXQ=+ZT[6G)J2@FX,% W+;['1MP'B,NA^9Z6)'+NN694!KM[/EV
MTA+Z/G@J^>Z 5T< 46 T5B YW45)$<B)A'5@1*[Y-?RK28NPV_7B5#;%;+/I
M<&&?]&N=9.%?T4_X5VVA*PTS2+O.-26$:Q80H2-7VA#R+X,T!>FC,;$B>F>0
M%:1X9#:U(\TS$8YJ4G"RKLL%S-@<&Z)4OH">U3?*[4I!#CA9\SJU!9#\67:4
MHF<E CV+3'%1GETQ^R2HH->;!*6,^#BH(/S59IHI)U*5^%Z, "J1PIC=D!&_
MOA'^NI/^#F ^G]!$+W$T>-,U??J5] _ M4K%X"US?#=2D-K!!"I TL"J\(O^
MC/<&:70[L*IOQGKFWCG_QV!6J;U+'?X]Q'VWPYE*N9WX\.Z/<:?(SSG(>+;"
M?&!8\!7>S:3VLU=T2QS)*.CZQD=-\?%A,W3\XJ97?B?M5AJW-;S'L4>9:D2I
MSWB(*6%C4*MJ\E+"PDI]SJX*]N_W=7QQ)B77\:[AW?3\33-?SF;G,I]C2K5Y
MN-WVUV&,^\309(9BF/<YH9T$;?B,9O)QQ/J-U8:XA=J$_JRO,V8ND)=-H<?O
M*L2<,G^_3^POJXT=5/Q9TYU(PKJDVMZ8)NN%'A?#1.48-I/#7[NY=P<Q?EU3
M/&T.?#D\6>TZ&VT9-YB\Q^CMUD[OVZCJ[WFX1]&IG$C.06^]@5=8,X5*&14I
M96H28X8>C#L?I[?-<9?<$=G=2*!'):P2C*9\7^@<\)O0#)M[[?+\/<G\I[FV
M;Z,<O^?'7E..OF/7U&J9V0G+X6 H+<9Y>3KY0.48%KSNIFBX:WE)R=GQDE*:
MY<X!VXDD,_B57NCWGN$U%'5NV)J[^S(Q;9KA?;;_>Y2ITW$'%?>-86\G[S$)
MY0UL5:5;MFC6/C#=6QOCJ3TL9BE9HVQOUR5H<2UP,982EB$9-).CTH0O3?@^
MWU&^ID6+/4%/K9T2RJ([*6)^NU9'[0_,_@PT5&;[.<D+QIPI2^B<"ROK3HS!
MA&=PC,C@+';?^5\Q< 'O U?+(#- 0/"#=W[F_#[#XC05_%!7^"A%8%SQ($8'
M'=87S:S>LJH]=-GLS%V2]"VY\)$ZW+?VHMYF)5.K]6>]GCEU:\H!>XF"!9QW
MPKM/,\$OIQN_Y^!>T8T)4VN9?-93S5JA/"KV<UZ]'.@?6"49ML*BP)NL4"I,
MZ<E@QG8V0AA#.&$,FR&I+Y@).K[C(AMM;JB6EF[XI>G@K7Q@[R!2!]UF":'@
M"(M90^@[VK)'M+:5AOZ!?J]1%Z>TCX82NC-69G4QZZKCW@&2"<,R%)ZF?VGZ
M]_G>\9G6S'IX:[;4Y ;*[P:J2^Z[N8WR@5HSZZ&ZC3;Z>3G+>.)\,"E8E4X8
M0SEA9(:A7XL6[R'=<[5XMP_V1[O/./=3=/N3#QXG2]-_<[L0O/2@Y:/)UES/
MRY0F+S=4=E7F.RHS_, -$$QR>HON*%1,/&>$L[S"#?5V.,Y%NX.Y#,Z^4W.7
M[Z$KGWM2.UFJ\IN;AT^J,D;KLPF.BX1<6TR7ZD*PL_W!!Z:(0A^=T]7VQ)>7
MV(K9UNFMT>8YH"IPKY#*$+G7PLC[S! _7FF2$36G*60"P7E_6W&+K&8:SJ!>
ME T"I0N5T4A&F<X80Z&3PS,$0V<PYK4>AW<NS6D.>,^HO+\M]K3(=^1U?:H+
M_-+&NVC7+"\:.A1[X+"(#,E0&0R];6O/#T_B.%4-EH&E^! S4UNY@'3*S:#H
M[WZK+L&Q)U3 O^[,\9P(6^%$UL#/E@9_ $K)+2$T]C[Z_$6%O=;PJU!?++?V
M"#-+6QV?=MFZ(HQU"*\'7%0.93,L>UEN^?L^I?SSW-&W5H>;.Z1W5 =QQ?)
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
M)<CG.$7_=8:_])C80PQ0Q_WGF+V?K.N ^X1'B;RN96-XIXAD_RA6J.R\8ZF
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
M+W]2@W>O&+M_8O!LNU,UY/VZAF9GQ>:JXKG9PJ03-\1@,A1*_"S.[F%8$V0
MKJ%^9+1)_4*T^6R2,5;2"024:FF*"U5E?GCUHR; *;P'!M2+9]\)]$G<#R)?
MS!+4<Z2G_SI#L'I,?B&XL./^<]3:DW4=D+/P2(%U+1L#9"DS\.I_%"M4=M[1
M(+ /.'FT"/^@9_.B'ECV?Y&G'R$]+H@)<8M/2'967(^_=8Y,?/CL#92N U]\
M9_4^3#FO\$?4IQ\Y\/^42_F+V/@#F;O0BORWU.*O2BK\&<@>T'CKK#YR^ @X
MJP@AVIDAL.\ND 3O47"56'C?_Q).M%CR:;&OW;O@N297J'!-1&S5N6Z<%E6:
M_,/C=8QD3;?9D@01D5H(WVJ"&5<*G"04D&*ER37Y"E='1 E\T!":DOBX1_D7
M9(1A!]KT[X0NJMCJ(E)90(8"UQ41H5D 2RH(O-#("UWD@*YR@.9!@#<\!UOY
MH*5@Z,^MY:^*'0N1-'<"#\S6@[H@/X@/2 $Z,-?+  ]O:1[X'!:G0L/3$,.>
M@@C'/^70ZR;]W"!=LS3*T3-. ]3K%&L<B]:H;;&S*3BL->B,,9@*1#JI/)UK
M,!K=BE7;H>*$J$A44R1LBAOCER.S'H'N[46X0->.W:F5U":)3\,Q,<:?C^Q-
M<OUJOA NY;ZLLQ5FQH_+$SCRXIE,;VD6)'] F!I8*+M0,(;EN#%Y^4QYT*NH
MR^[2DX,V-9"4A<LR91V,O'BF[^4WQ4V7J O*UC?+YJHV(.AP3%T^T]BW.3Y
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
M_Q+;_QRTW97'E?'QPJYJT62;;S(;,NO)?:T=#C%GITE;H$5T!F4OC57FWMW
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
M#@"TN_3_DPEM-<M-247%W;(P]G2FIRCA>WETD*D?"@[HP^LEFZ=OHC\/A'L
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
M;,'5N7$K1=>:DS_^09$CQ5I2UR"1O+X\B=)*>X*VYJ0@LEM_J[7'Q%Q2KG"
M,B"1VV2]-#H=$)PP0Q@EL]D(J2(@$7'&:CH_43R^M;,:6R0G]E,^A%]WVROF
M"GDV)3:$)MM9J%Z?]"^Q[UKGVBV<'2\6.HN*CDISV]X8\Z%% FNNXLGT/9]8
MCDV22YLD>%1,DG*/4@6[7<_I!;==Q2@YC;%#_THF29O59[9HNE-]7EWVBAV:
MK*<1H.^H(Y=WG-LB.4JA:U@D;FV"+SKV5N$*0Y3K:786M[$KQ&\""OD<WJ[B
M/M(5"U2K4\%F YM!F0\LDJAOFK<M5S9N,SY[ZJC,"X,'!P;/R/*&AOIH\>P:
MN-;B)YM#F,1@KJ^8V3FELS@S;^>:=73&7R)RXJN#A9E9]O)(8:MEEJ7AU*&Q
MB832P1TF:#J9H<Z8=1GO/9R1AZ\RY2O0]7H>7BS=/N?LU:2V/Z*-ZA@1)'>U
M(CBLT>]>0KH5:8\<;XMY0TSU'$='3,5A%CZ4;O!^>YQ,TN?,?XVE6T2E6V!
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
M<?6VD A<4>SOQ%_LSN(<_2>BD\HW6HEVD4OT.:8E)+AZ#DPIQ[%<+<NU]F&
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
M:TJ7#PNOD502.4^5P@@B(,*F3@R82UE'GP&,D1ZTRE9ZQJD9H5E;6:TI94'
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
M+/3>U^X=2KN5U/^5C-6_3V]9[*N_SPK^4EPY][SH#]J<T_J)YX9Z;]"HB%W
MAY\UU <6= Y1QALK?5'%<3N++LBN=;Q-QXIMH<VF$#15K.Y3J!>'MWQ#B%C/
M!AR H$5MC[<CKJNM5J7>%C/$<MPO-I!6H7F=;&1CUNT0*K7@-$')8/Y.[4_\
M(H3;R5X?N^@R6W<Y);%L=VOR9MPD$4$D2^I P%E4AWN'H6F&3 3LLN$MC2@G
MXEJ':/S-])=L.5&SH>-=Z<.9^ERW)O"Z1Z04XES+<UWP#)&%^E7'_= _<B/I
MGI(R%3?J2RH9(" &PCH-Y2M<U&'>\'>G"[]MRN&,@[ 9KA(^5O8T55E)_8+F
M+*36YQVT=[M&.)E-QF:V_9'H55J;-L<.L#8$DD>Q;#J+GG--^E $$?4SCGKI
M2&%\89EQ4YC3_8TY:*, BD @DJB5<9P(@JQEZ>HTO$N\3Q(Y"T5QC[@ZIZ@)
MWQ%9AW@@ZSR0=>X!U>6!K'/[13V0=;X>64>*L'3DL;VJM^JZ:'7$]8BNM=J$
MP6S-UA@=(W]%,GD8Z:G4QA W$T3TJI2+%H?3H"^S$.#XY<AR9=5HF-Z,X?MK
MV:\@[" S6?EC[/R9-46M3G>95D,S)H+GMI!1?0G>CI^/7+@H(:[6^;[F%<5Y
M!>D/\FW-'Q/G(XG10D1R8ED7*9>U!&6ZY+?,?$R>CZ1SZS*=$3<CL:JW[&5/
M@/T*?!!$GXWDW"[&;;8UF3>H_HRO#QRB/&+']/G(/+?(N1.AQVH24:/5XKPI
M##(^&+G?I9_'-,)^"M,(OP-,H]0)G-$=H16=9X<[(,P.48M2?U=4:0N,] ^(
ME! !)82"'M;JN GIX3V&BC0'GML<9@.@@U_/?= MYAK#<67*-6BYP.D(-^_T
MI?6H+O9[;]\!^FABY["P>%E@46!-L;_LV.Z8@S&18L/KYD$#N+\G)WJ2J>4.
M#<5^Z<QEPG9W+,9N<HA@=;',@!;(XI4P\CM]<=$I"H8EKBO.*K/2NC-6A'>N
MTU@62V<33F'O!I7TN]#N<F'YKN*Y08W&MIK"RYF*R"A9R0?$PU$FS3!)U:QA
MBFXCV2JPJB H,C7G<*@.#.BY\)Z&V/O;\NS*5G6@)W $1M00[ 0$YG"VSE.*
M.WO"GR#M^_-R2+QNL%*>\8QHQL=G\-L]TS!:U\F3-0SIY*=>=3DC66]SG:.G
MWFB:J8SX?%[#QKY4%7NX)4KPC!7V$84=WOX\@;\ ^2XG\UEN(]2D]MK4,MK0
M;,U4;6;58(DSA:41XKS*XD>8%??,0^U"8IZ<ZY0C4Y\^R7X;DFK"#-B?*;_A
MS^ G<9/47-"TX=F/&S1UL'&L&?9A#U.9\>,(CF0F,ZQ<%X713MF*HZZQL*\C
MU2O;I:<%#]4U;VOTFCD)\S4)7AI&\33V)QKQJY'T@LAG/;J'%+JL@?0+FHS8
M0ZE4S49-,A@B"?CL1:WK'M,0'EO"=H*I,*\&#/XJ7G0:5M3'B7AEO_##7Z<M
M!6 >ZN,10?H])?-&ZOW:G>QOPZ4J7FA(OL'8HM?W^,G8RS2+RN>=QF;<.[)@
M6P9T49V]CYK<E(PK5U:67S#Y_M)RUP;>+AI;Z %09!K#$UH/PHS\[>$J850*
M&(A3=-U)_=WQUH X/T[P^KY;&.JHX5*BA7#6D9^&56':;@:TI06,R0K%;:N2
MY:\3#<K%>6NZUHFF)F%C?08(V],M-FSOPMQACXI?V,++J6VZPS%<:Y1IBH*
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
MF.*$3K=S*X_T8%K]>)]34"5MH(\%7 ?',\ /0^]EHD#8M8N&(7O*'X&17_!
M394BA?0*0O)D*:B:TZ^1O. LN[J5:THZZC\0DN,/'@C)OP?4WP/]\KL3XH$'
M>R>$>$C$G1#B(1%W0HB'1-P)(1X(R0^$Y <BW@,A^8&0_!"4NT-+_=92\-T0
MDG^]3?V#%][@A6^%F7SGO/! 47Z8PM_(9[Q,+N/F?/Z]@'7?6^F#_ _RWQGY
M'TC+EU7Y.07\VXRJ[<(*L-_F?L ?!85SV>(O9*P0.L/F\"8M*DA]2E;H8$PS
MG[_@\J(:@95EVY/TAA65\R?B8["%AMGJ=F<M464=8R54%HMNMQ7!)^-TFL:Q
MW_>JRX.5OXR5T;'4[[.3/L]DM"IAYHAJ3@XZ7.N:K#PW*"_@JJ[+=WK(>IL/
M\(58\",,9(),H\1OC 3^I:S\IV$:7:I"^1=XN5PM%6:J0L\0BG<);]$>F!.M
M%0$9TU2:HK\88_"JS+K?" @>"#U>R_PVOOXE[<?O*V!7O@&?+&]-6U&VJN."
M?2V;LJU(CI)7HO]/$,!*=UC>6E,KKW%M;]U8"65\J4"03RPT)LAO@U[T8.+[
MO*S^%4R\E.;MK<@/11ZCV+:/U[4LUFI%>,Q4-DV@%[S'_GV9^ &S_'77RK^"
MBV6_+6'ZBAMIDMHV9EESMZ7G;(2WC-%IAB!^+["A@WLDP[OX#["A;Q5V0Y']
M^[=TG^++L4D"NNBW%5=7;7Z-S&5ZDIT-_%UK3(4Y)#)-).20?CRX^<'-M_2C
M7N=FNTIY[*9.3/FJ5U +==]RK3Z\JPB<)AP%YN;<\W]P\_?((UV#G6_C4+W.
MSB/'Z1!Y:=%$@H&]"A:+CF/6V0@ &T/32$(,\./[I)(*EJV 6:24K;R F!(Q
M?LCWC&(>.,*_HSNUGQ\$J@]13D( ^P0ACGF9"Y/"<M %WSEZ.-.BI)HURX'B
M#0: ]R?(>6>N2*M2-]B(2K.WD;?H?.-H?@2WC:4QY#QA_'56ZR$EO[^47-A-
MNY*4F+T=L6G8LZI(S?J+ZD"@O$9S'N%T$VD&?TC)-ZZNO0<QN;#[=R4Q05>%
M%5$:(;Z849RUI4S\ DZV(H#O;!IAOMIGO'78PYO31ZW6 [SXVU? V,RLW/3G
M54TI98@9UIY6,2:&]'Y4P#QX_7>JD F*&TL?-\DVG\G6BZI<ZO(]=AZ!=+];
M(?/@]0?R]M4A&G^!V>EE6QL1LE!$O%XOS_'-7D-C8]1MFDR3Z+O]5BX%NAW2
M@3HBS%T$@/N:*)/?"W [0H\X <60=46RH=PO]J!J>Q&&+[D$*L:K%SUPY"BF
M,7L4,M %>8Y]\7^>87H<-!$$EK/L?_;JYF1=,98(%FJ>N9*)($.D&7CU/Y+N
M2X$3KS.;?<*(?43Z#_)L7N13-ONOU/&?<#_.-A-BUIULV3-,NNA7SU'IXL_>
MP2V)Z>):J\L0!7M30*4$Z0R_2BULJ/W^JRMPB7(,_PTD$2@Y_=G%I?BCO_X3
M8AY"Z&'."F'^G .C2E\I,V]=+ H72WP,[Y)C&VR^S#92':'&MB.36FYP3Y<
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
MV]74V[;F [Y(C_-5CR4FTV!^N"WU35GPE[:DT\]S.2LHUS6LGNE.I\T1Q_"
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
MZ>QV5U/&I0%#9S3#QIF*8S,<-FQ!$8*% W0:)1^EL0\)NJ1#"B5H0^ZZY8J
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
ME/'7:;=0]1$$J/"TEB;B,$*,@MNB6'\_"FA\E%,:PYJ*=5<8FRIL%;:>"E%
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
M9M@#,_9^#@[B71P<Y'?CX/AXS.PZB$'*YBYXB<*=DA;2 [@GR$)0AY\'UE
MV C>&8=*)O:Q+/A7U0O'M/_"+]IWRV&KW<6</%@#PUJ&\=ZC^-TOPW=_531I
MJ*$PW+[IJ:A;:V:YUMHRX#S(AYUY"N(=!.ULD"@U>GS$E +,N16 :6)I@RBD
MC(8#G@)K!]D.Z!C#N8*H;<DRU405_KB:0[LRFB\SU$N2$8'XET=UC[U' J69
M4A0318MR<&CWV @Q6"B(7.-&TDV>S02<@_>=[Y2J8J4][W1[:U<14NWEC/+L
MV6)(?6X&<;8^QW6^1AM\,;W8YCIKPEUXGY!C][%LDC^>\6DNR'6*4FF)>1-]
M.A!:_4QV\+FW$$!%S^?+]F8N:.T5W,>F,+-E7VVRR!_/..7,K0:^;([U8)9N
M#BQAW27SGROCL%>%RD3.S_@4,:S)YEI:*(:/JBV<N-5V>]D@KZCRZ,[L ;%-
M8@)<'P#SB7K("0F,X( .C!_\Q])SH_,G:;DT@O!<;F\&#B_-'G ./>53/-I/
MI-UWCYT ^(Z7V1C()*\\N#S(5L"Y-.%[PA"HI"AACY\8SA+HF V^Y:G/Z ^3
MB'WV1?_AMS3GB/3L&?/I62ATGS/C=N49F'H&:"IO81@*3SYZL <YPY+U'WL/
M/S-E0<]6JWF,YKVZ35#XJ*-!8 ,HUTOX,M?VP'F/X7XI.!^AEPWY>A\/YB)2
M9AE%LI<.^+G_QV$W:/BJW>$<"E3+T3'0_APR/#63H%#M/XC.S,)/GIVL84^\
MSKLVQZ=DKKWOV.Z%>#3,-Y9\H!ZRV=?(M ^B[P?/1P>Y"I3!_:SM?T\A!NN?
MT3$DRM7X[0G@[D@V?/&^J31Q$&4!N,@9[5O8D?&WLR,?G-[^(>$W_I EXX6X
M@H5@'B@\7H@K6 CB(<W$"W$%"P$10<4+<04+$2/B2A8"(H*.%^(*%B)&Q'D7
MXKT5XWZW??C<DB9'@>9/*=7S.\_]MN8 ;F?1A__O1_K'!^>#Q!ZH[,OB19]:
MBI+Y33;;[TXG1F$ C#\*@#UEIEU4:9UE_&\?[;XZX>'88CUPA7K@(\MZ_/-,
M0AQMDV\8Y"B8?4N _I.Q7EX6J%N7!2*6A7/) GWKLD#>DBQ\A:'_ZH+KG+68
M:.@FV2\.[5YDO)S-N'_UN,]82#JTWI\_G/-7%#U;=LSOBT>_^1+YI8JQH/JC
M]<EXVJ4<7 ]2IF@WZPK6('8IGL1KQ>#_4(M]M>C_Z[FM.I?/\JT1\/Y*TM>
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
M(*Z7WXR]1UQ-66[/#=]K8DV+;LR&TPD^F2-Q1=$\)DF=/YIW@[NS?2+'(?]
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
M,Z6H3 A\(Q)#,$V$Y7.<AT0QI',TC.!T+9+'GD0L->%I,X'A&=3+D+]*@MV
M?3##HVGDGS_RIJ%QH">B7FA21)"SYT[37E8F^?7XC_H<CF0_*U'-HF=S<_1@
M1' DA_L#%\X/W,<!.P$V<'W-Z"63(*J$LBN%9-F[I[[6X<<).N (LX'KV;M#
M>CA'6?A4N&U49]%$V0 M4#17<(@G.A#2_KY\Z:?Q)+$A$UO(D10M7*O#)5#]
M#G8*.ZJ%=$DAN26<?<XR#!"IMYKD1Y+CG,X[T!##D@WV-$>:LN.F@W.]E((]
MP=[3+,(11<R::(\'USR4N(A);K'THJ?"10*V;=G.GJ,)?@\^#-C1$OVB)[+E
M&8@(#TZ]&[$MP8$JJ#A U+5(,!"[$J+FDS5;]A;P48B8]"$!MYF'2RU-YY[C
MHMZCKAI1K2PT;VC[J<#'+*%F0Y\]JSCTRA2!'<+"$=@ E1HZ#4@$9N  A!9'
M@[BR$=O< MDD-+0##,$Y/Q:Q_;=?2!GB%H0:.?6K[N_S3@Y5@;>,= #.(,&W
MK2=:JHB/$-$5?N1QY,O'[:8D0O(OY]!,R)(#=C6+$F M.3O] <7XG""*ZS$4
M4FDRKL<0UV.XU,V1N!Y#7(_AW$.YM7H,[V?P#VL4')F6QYH!6X[VH,$7,SK7
MGK<Y BLH7(4]5=>AR;0S>*VO&L)B.YFJ65%;9!WV5%V'44\<4?VUX& :)=F-
M575)@*H*6Z9?MAR4&O7ANI_?\%ZJTY4R7!9,^JBN _.R96V074XF5&W">T33
MP*Q902S63M9UZ&79AIDWM39&-$NSL>:7"AVK?:H&@X!/^&93RM&Z5L+J0%H.
MP$!A3]5@(-KX0-SV.JY0W+A;R@Z:*:.X2T!\WK)*$?:H/A.;V"I7U\JIBCPH
M"^B91V/W<GI@5:IJ52_VZJTB.1T#8H9:'HV=F4Z;OB,T.M@BKSJ]NDFV.WW_
M5 6(Y4;M4<[*;/#5NN,%?M&NK(OM@PH0CRTM#I\MB\,<KC>-GME@'+&*X[OP
MZXOYS(_6/-,8C7AIX(!.*6 7PR%J>32BF5Q.M5AE N<35R=KA^UC>@E%NXY&
ME*WF2@Y1R';XA=#PNQ9;8W-,6V2.^YD:<!9>P* L!?7R)".H^#:@VF+VN"5N
M 0K?D!51&*C4D.AKE?),@I*,'3?U<X.!F)T 2N]*"[":M?UA!Z@BCA\W7=0G
M'7U$>")6+&*LDW? LLK[*.YR8O+M@K*L;5F,JRM5LS?>J+0,FY(GFN:H;L&?
MY6?"8JQEFR8G;_FVBIH>37^%W)2IH-1,036I-ZW"B.YEAFW4]&C^@=UNUE9C
MHXMIG1G7&@XEK46$3SU:@(S@5/CT1B1XK\1GIVLJ^_^S]YU-BFIKH]_OK[#V
M^^Y;>ZJD#T$49Y\[5:B8,V+Z8B%!$00EJ/CK[UJ .;3=HZWV>.K4;%L):ZTG
M9S'9 8=UA$JJY+@X8V6+XUI:5*RQPVH^J=7@I0=K'=4K6;=>7-:8 F$0DW),
MYFI=[ZD':Q6CCI,<D:2.MJI(ABKE([5)?P O/5@K*^,Y>MSJU=16/Z-DRL42
M8@E'1\^T$_5YMT^0-IIT:B[;KM?RTUGM&(OJTE:E,<J/3+35UAR);31KJ6[M
MV.@9=]E<%IQ\UE$+UHAL1W)#M((>'3V#5VVIW&]6ZDRK3+IYJM++%I%YC]@>
MOW+3AKP,;\+Z2JLJF>R0-X_TVQVC>!&9S<DLPY830JV9C$W%QOQ&_78_.\,E
M'LQP 6I#.5?.L*$JT!?8+%UGOFY$RK_'^T-[XT^ D0J'[^ZZ'J ZT >VI>"I
M,J("NZZ)(2F ")QV$K(@3/:Z.Z]5A)]?W+)Y'U<2<.VT+J;\E9_HU\PSU:F
MD61%'3.U(M*=6\VH<2O\>?5K]KZ_*+& I-X(ZM5\<,_TG=RA"23V%GD!XD$
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
M!Y[VKGH4"X[ \#W4L"[7,'^NHG_[OVJ*+OUT 'V;\-/!S[Z7T<MV V_-.#P
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
M&\V+(\<*NMN?R'WQ'>M5Q[0<\'AXU;8;W'^]'\8)1+O_EJ"BA3_T$9^,##Q
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
M<1-2OT,S.^K5S.[5S.X1&JF]FMG=?U.O9G:/,#V:^%"3N,BK2=RK2=S[DW2
M;GDN$+HI%\'14['0[1IH]%0TU%_1UNR]$YXLL*Y;.^W]BK"5T_Z=DC 6'M!E
M/;]3A0G6H%,Q-9F,)-NM6,EL-I^G95BGW5AD"RPZY7BEY:#Y?&J>A%D<4>HM
M3MRO>AG=J5Z^%JP809W0LE-,<\EF8=R<%PU]CCU/Z%,2^GFM9,7;ZK2K);DT
M(IO#SIFV+B>2$:X46@%$[_G4]XMW/]7:B;_Y$,E5"P-T)_'O6IBE5@?(@C2%
M',<W$'Z00O0Q_42389QE*=K K>6$F6)#=]&:N4NZ#B,MY!MYCS"K#RI\!U3O
MS%2^&%09M#E,+E+%.5>(9^ILA^RGRXOG 56ZRPES=I CF6BQB,ZRB:$>YP8G
M&?81&7S:!7I3*?P]Z.]FCK4(K7=GE)QM,'QOGF.7<C;7G .X8OB)4:XW)L%/
MQ*8O!Y?;IA$>\!F.41J-42LA%0O,_*GR4B)FA4,[>#>+(F[33AE$A*SI)V/3
M-TITH">FHGE6N.^H/)#%#]=(8[LY#7'9^)V+D4J3%[GLC,5PID+Q0E711JY>
M?RH>4,KD)TA<;ED<7M4G$ZPPLOJZ7Y0;OQ\/>+'L4]4.]6XJ72#2&32#Y:T)
MYM3'XS%]DF6?2P[^<.G=UW1Z/1>QO4;9W=>GM1!;Y3_$125WEV-TC:HO17+0
M;3*5OJ#4IJ-YDKE)G?EM-,MVN=U')I%Z6U4RO0CO\I5"IPQ'_!%WJ;>+;$%J
M%8>]%J1F);PX)BA<4Z.I2)K@YU(Z7GT>IPVO%1?Q?F<9Y<8YK2K01-N9S^E3
MYMJ/OW]O+B+4-$J\*0P]!W]XU2QV;<"#)PL.4%-T6W.]28B*H$S\5I*KM#B?
M-_'VL<?OEON(BK@U 'XO8GO@RX0=9L[X,M\=/'IA?'=_R^_K4^!.:3$))D$:
M0;^;FW:[(6ZH6:53D3X]C\0YU4&B,2?*4T[6?:K$9-:1(]@(:3EJI>K6)81-
ML]'(_*1F]0S%3!9LT'K6B[_IT8<=]\][>+WEZ\>.^/H?NZ)IY=O'=GS[[PV)
M] [N(LP?.NHP+;2'*34I#%I*93'(UF;/TT^:[S?YZ<1-(AS29;ER;=!#(_K=
M6I/&MV 5OW">Y^6@(J:S%%ELM#DT,S2=*LE9N8;T/-I7W4T@T06UU%6V9%2Y
MR)"+1\F3,OV#=4V7E-V&_H%B#4?_3;*YHO<1^_?'5WGGJ2W4H*Y.Q40RW8K$
MP%%Q4LEJR:X8(?6;4/'-Y%=#=2(SW4C9S#1E-O+ELCN.%6&Q=?P-I^[68_,#
MK?4^ JY"Q7&1/#:QT.EHA(/SI=1:[*G Q0X;.-)ITAUU[)*N-.B6LPY^VI&S
M=M*OM-]501*@\)L[YE^P/ _+/D_WS'@6LU2%3U82<V;1;V.G5<=C;0Y*O.[(
MX +'A$SZGR2$KC5T?@!&++QY2MCY&XJ.X8);@NO[6]T[C^>P>K:/[]*U!,7S
M&<%5>7U&UP/Y!$]54R3KMPVP\XKHH8FU,PXPQ)O23GG"98WO%4W["JOJI5^>
MI0U%K64F^5EQHA98?E&=R"6\V3VM7SZ!&?U21,Y#?+BDHO/^H&JA3LEFN!EN
M-"8)^K0BXG%#H% ^@T7MY?^=[P_B3W#!WYF="B\XW1TD$/6!I]Q;4. 9VY,"
M$FQ/!',,]WHRK]9Y$ (XZ@,;\EX;&6NH3'SOO^A+%?BD"3A?0X3[#RX.*'2+
M5U_(D/^Y&45&MY)!HH'5>#X7A/'.YR*";#IV(Z82Z1(GV3VNK?41)7Z3F.&-
M9K)-"VJV0T[JJBL5.KU(MY3LPH&?Q_GOCQVQZ>BKR;J01J$@][$."\&EP7Y&
MHB/8U@V2R#9^*?QCU?F[RL@64H=VXTY>@W3PE,D6T01H_"CI,-065E,793A]
M *L[8ZV9F?:TI9J1S'A7%!;QQ>*IQ(R "=%DN3)L,A5D.*ADY6S/]OJ3DV^Q
M.]0$QK:@%;LVM)P,R6J#>C+/M%"\DLW."L4>\U30LFASCD:UVH!#(D5ZKN<G
M;;4Q/ZD4W"H;9L-6KI(.<WNO5WP+K=:?KX15B9JPM(NNR*E\7F(YH6\;W<I3
MI5@9::G5T@LFPSB5NCVKF<V2)?H\@+I#-LR+8Y^%EEIBEJWRHD*H&0O-:Z46
MRPW1P4F._>-WO0[GE/4_*>[[XB'GL#(J]V=3A:RUF*C=ZZ6ME-L5S=I)'O(,
M5JJNG(_ZKFQ0XDK69O"^/\/8C&TE'<4N2@\K*Y<Z?W@:3V--,1)3D]5>9<"U
M8U&D]3Q)1VG1JO&9GD%QA>1$U^,CW>[D:R=LS1]_?][6/!D*N9@+W])PV^6W
ME[@C+L<0>2$2LCT8U-4QWJK);B9OQY)/E6<C-6?8DIHE:303I>1%-\9-J=QI
M?OOY6,:'&=C1QD+'>-BGC),=\X/X':_&P23B8-]^,# XCG/^C=]3J\Y*E\M#
M.?>3H[8?B]*]+MU!8.K"T7JGMNU!&OQ@*WP O[34-U<=O@GO<=O?1/S"2'#3
M)B_2 1LPY[R[S>)V$B<M 4A]1UOIC9K$!V1Q5 FP#S;VP3TIZ[8\D? VP4P,
M^&C/L%Z 3QY<=W%J,TN;![B%K%UP@F3:D#D$?0WT[74>78/7&PCBW 1L5X$H
M;[JK?:Z:?6U^ KAS7(L)EG6@>< #L6Q^-?1;\;J>'"<H:\-2CE#1:67DU)E[
M&?T[E *1X8AAX.7Q 19Q4PL!W])I\!Y.O:_3-+R EBXRV@=B6Y;JYA=BO%9
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
MWK$)$1XXAV7>*-'F_#.O!(-[R1P+\?@=163S]>DD0$MJ<N'O;'F ?!F1H,[
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
MECDG6((/=2^[*Q[G+N/J2@]T, LFPOIR,- TEJR7=Y0^8S4KJC<N-E9LJP&
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
ML[:ZX?Q%)T(&+(LA8#3WDI_JH:V.?5/WP91^&IT0J82/PA_[#=EG) 7OAU)
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
MG+7CJE/_U\!&'VGPU<&$_J^:-6'WIXMD5-F_B=GJ/<\:#S)8(Z/=!0YBJR.
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
M!'O2YUH&JJZQZ;!=7B8[#&SV#O7N!!K#T//'@UR5VIIJ6*X4X7R?]/E2@7X
MT[BM3^PFVXY@&\'VX6%[6^?:5[;]@(FF)R,,9]92M7V/SN#TE:C?WP!QI'.F
MVMQ:LXU"$&\;@EB'2 ?TUM"!'"@\H1O9K];.2Y^*<-[I4.&,!VJM4.,25'^M
MR*AF$GEUTUHTS,&MU5HQ[YDLMN($E!>T=!>;Y^*Z-X+-EF%'UQA*D3$L27]?
M&S.*4'P =\_M:-814AE:RE0H%)^D'"V?+0S%YJUIEAXJ%-[MJ%VA@X]Q6UA6
M^FBR$39(3U)8C$I^8_]L%+[X &ZAVU%LNC#J] L+7>0ZTVRG(5<6(I.]]:4M
MG\")J>"*GJ!UO'F[GI]1\\(24BSUZU\BE8JAJ==D[+U7&'VAV/MP1\*>*0[R
M=^W_DZ:S_U3^\;7\0)T'\P,D@&"+K-5'\43<M5KOX]RVXTVM KB.SV$J.SP[
M,YNA\EE"KY"2I=>8N4L5JU6Z/[]U6L-\:90G;JG0%TJE=L'>]%MY21W!KO4P
MV2@1(XC7NM9']!?1WZ=5]&O3GV<L*XM&7Z?14LGEB]T^:QC:K<6\U4]TAQD=
MH[EI45S@CC#)];H^_0'%G"!BR604"OFXWMJ[5KBO37_M_H2+#VMF3Y_7A*5B
MHJ-Z0;ZU_,NI)<U;95%*+RT7G94^M:PDRD#Z@VG[^!NE,1[?H\X9JNS:F@PH
M<=O?,&AJ:,U@BT/8&W%FV>[0,C0K"J*\K"_OYW8:_V*0Y3,.[S&%VA:!ZUO\
M_4+4R:N,;8&WQP[;*/6X:26>K\C3"=YQ;^WQ&TGNNE/=J .AU,H6^E4GOJA4
M1_!0840F&4LD+UA:*Z+JB*J_'+!Y8ZK.+D=I L>R98%JU"S42>OYPO#6YL**
M3\MZUE5G^GQ,$?-YOI&=L0UXJ,!<P*D8FL0CJKZ&%S^BZD\&?]Z8JD5\Z!:Y
M\43A<CD=791Y=W3[?,@DZI+]_@KE8>_ 8ARE-L-,T:=J8(205 Q[U0GP8*[^
MEN5*!F*J[JZ?^F/Z,\X>D'/ 40C 413+@UW+?QY+>:G^R^/TJIQ:X0V!7?(&
MU23HY*1T:\\!B5,H1]976:$4;Q;ZQIHGN_FEB!%0P4[$\&0RAE%17<V(+"ZF
M/^-8:Y%<%;H#,(=2T(1E8^@YMR8+8J"J^4FMD!(Z62>Q$.RNXZD^6<!(DQA)
MT3$*>ZTJ3T06'V__]J/)XJ4"6BKP\W7:2;3TN8NNLT5JNJK(MW;'+)BYRK<F
MZDCP"()-K]:3A=UF(%E0D"PHC(A1^)M:WO^Z$H#QA52TQ YB9^@.'>RCZH$3
MTN3@;PA#S?2D8&-W8A_>R3*"/MI[[<%E0Y5LR S&X>0[4H<ON41_\#]VM"+V
M=?A@B]DXU&P.NX#_UT%W\YW%')<MP[)_;]G2WK["KNJXSZ%&:CQHGBX-P:M_
M2\926COA/FGZ"=^QO-_HP;H23S3]%_+\$9['T6%.I55\[\A"?A@WU*'[._C5
M]I'/RK;/WNC@'L+%M6:7 0I^3*+4,XE*)^C3_PH9VY!+_G>KQIZD9/@9T";@
M?L9!A[;P$3#0((]!K"$"V1TTK7>(*IV39E[KH.9OEGS>[&O=U%BFRF0*3!7A
M:V6F&5AEA2K[M&NR=E_+K=9:'(^T:@A;JX(5%S),B\L@V4*5J;(%IHSP+?"@
MPE5;/ +Y!(;_!_F;#3BGJOQSIYO*UII(*\\A/8YI\@A7S8 M93B6JZ2Y)NQ^
MCD SSO\7]R\1#SK 7FDK&/J^O?Q=, ,D:HTMSP&K=2 M"$_\$Y*Q#$.RG1C0
M8 P@ZX.[T*7FJ(AF*D"'<_<A]#I+/V1(ISC-@00]BP(4Z#701_:[(DTL>ZO"
M.!G-D0W+\6RU!=Z1-BQ9#Q67@=AWT;1,5?LFQ[+]"C_!,ZMR#FAD*E!Q9F Z
MU_;42SF-( M\#\APXBD 684I DQD!;Y5JW!-_A(H!B -T.LW=M0MOFHA\O9
M$4F6@? #^ #U3(!Z?R$6[/YD^WS5/?* ^:, ,B%K@"(.HH)W*$A&E7V?Y9\(
MZ.DS;PR'.>#5LJHM?%8O^1C^\G5[+SJITEWC3#^C2EV*;K;V0%TU'3#)UD%=
MMQS75EW-#KS2JJD.-?=5BC**";HG+CT;Y<>8V7>J&;ZU8.Z,HLB0HKA*O5SK
M<1R2YJI<MM!"ZF6F>D7">KEJ;CHSK+6J^B@+*8:UI@#T:P0<,>2_@!/[C^M-
M%I$ \LL6L*_!X\':?_P,*6"BC56X3 4 S Q&P#D,9.8;7[+JX[^MCCS#QQK
M]H%1+H_]::&E!V2R9!CKW000U6QMX!>4V\[^A+3 6\&L<C@+7/;^P(#T52"W
M-$B*ZFY[FH,,)&!.(N W[S2@9P#=1!L;9U/9=B(MK(54)IDJC^+CQMD=2_@'
M#.A,<#[LWJ[KAF2&D+0KDBN/@>Y]\+UJ0R&^LZ/C>$ ]5<FV16=3F&9'76^
M4@K9Q\T^0VS8Y:]_3Q2-_&N+)=)L9@ !#8]X)JUM(,?!@3@NQ!:XXP!,ZFH&
M:!L*<_\":8<T6Q1S+<3Q  *< KBSPZ<E8*?_\]@.\C] C 4GUE1E:V0"RE5>
M.CE\V+ **Q0M$>A]G76YT;)4,UM.-P!LR!A!'5]-QRY^4A?VF7[^I)C*8#/M
M;.(U?5VMM85!<N$UQ!$XJ60LF3BNT.0SHTL?UH4]:9\_K#)1Y]=ZKS?CI@LZ
MKW31OCB.,W[$0R)QG ;U*74J!GB],U-EJ'\;ZZ>KZ8T%$X'.![CPV &[T:"2
M-O>TD!-!B69(2\B%=HS'9VRVM0*G[8)%7UQ0G+KK;TKF*+C@AW]5-%.;>M,7
MM_;-G=B% .=G@%]:=AE*;*A)P=]N1V:!Q@IL.#@LG(/(T0V9R:>GW+H[9LOY
M3M[='$;7O4<8^5;/&Y)H_SGCA#)(&JFU(;,3'[P$+$!-=< Z*RJT^8R""=0\
MR935K>YW6FHIBSR?MDU]P752O5G193*K9@UPQF.A%;\#*$JK,T.1'D^*4RW!
MNYQ47F,;=C4I&XD#*+Z'D]P<BI-X(RFG)JN*7B/:XU2]U)OS-.#:]--Q*:^_
M8E>GQW- 2IJD^/K0,TI"G+4[MC)I%U;$Z [H+6_!D)]1UC.5/T!GW%;ZN#1V
M<8Y=F&VO.QWEA"6$SCW YCYXY8VH3# #RV;?1CX-PW6JS*TDK3O6:U;2'*R6
M;+\T!-H]^G2L/D:<\CYA.)HT/;E6B^/"O,,WQ!2S9,3\",+PN,C$7[X"=@>
M_#G$Z/NM8""EYUKV^G502N9$ID>%\@3M9'4AMZ!F;C+#0% >AS9%Y'BO4"Q[
M+4WK2PE3K\V+-7;6;>(U#2B?^"FU!?I,]OPE3OA*WZB:!MH2HFW5)600OCB&
MC /YC RA@(9W),_LXCES#!A4X8KW?GE@>/FN&&CLC*#KSO1_#DPA!4!0=HVU
M/Q@ T'>7;>V\F12\)O3V;&>&MA+XV]GSJP732]/ "?YL2"G;N9S=SY\].JJM
M7MVE<P[<93"'ZXY',YR;)[+--3=(EZG>Q^WW#R.O?[HG#?GZ3.8:@^920-7,
ML$7,96S9P:'7@X@EZ.-* ]?W#YWCV&4F/>YV"VN1JR6K'27=3B_;[L=CS,]X
M[,LJ-3")>=,62LF5."SWN(EG 2Z.)6(I[(3_Y!;.INO8+M<^>=Y*\IR2=O-Z
M#ATP2E6:\H4Z0'@<C2718XWVH3Q7MXNW>M.C!H\07MD?>M3&DH-(R-R3#&VH
M@8,E40SY6_\'F0&XAI<[,]M::(KJ[-\4[<0)!(YD&%#,P#]WMS9@R=X00-"S
MH?R#8 $P1>(OGN_)( $L/91<X-6'BYS"^Q"P@)_K._CZQ5%MZ']Y6AE:I>IU
M*[.<6AR>-C(YTK/L60;*(/0X+'EW@334;,<%_RX R()WP&^V(#V\"@ITC&FX
MO,-[P:FDJ"_OE;8T?XB./USI^/JE08XJZ9N<7M2Y4@[7)FUEFAEGEK_^)=%C
MT^5'*QI?/VI<;Z57A)/OHJRXP ?I0:.^6@'[@J#OY";KCI2+KY]V=C:1Y;Q,
M)O1I,HXRJ$LG9RFHS<4HZEB'/IM*<9D H+N/]WD.Y:D-(<=63<>?M0EC]2#\
M'-?AQY*MIF&X1CVP1)WCL!^YJV]2;'R\X4JS?HK+.DPU;X\"-/:#.QGWE7$B
M'(;=69!0(@P2XO-,DXNG&9[+(&RM4N>J/-,JU*IG#A/Z[#)1E$)\""$%$TIN
M*,0AJ=TNB@EHJ!7)EL?!\<$%'NJ DF+-H$]"0AQ_W=INW8&^&%(TW$2@;  M
M<&8YZE9;@5] IXEK085V:KFJ_]CQ9!G&K4(J5\VQ[[^!SQ>2X:DO ZI@/)1F
MZE"#\155U78LTW?]N$ U 4B__4'@F;%@7.QS^!)\!4!9QS, *]]Z8O96Z.]K
M# #DQRZ"P8'BO7W;N^9<:NX8@1O=G0YD=9;G.E!\^*6+5-OGQ_Y&+60$^P0
MH@4' ;[1P&"@Y7NVN744':PJ=$2%)PGXN^5OW6>?8#@X5&T!YHHADNLG!87A
M8JX41J#MBIE^Y)@\()& )0(/:N(I?N)Z;'?B =R&8$?N/CB!2()SP(3[%S#T
M \B3_W&VQ9Q@F!+8BP'P4O4#UV:JCZY/@# 07@4H!V7"%BDQ-'8"5##>8 %1
MTT0 FS05WT(*C\\_+!>>DVRK@!OZ#Z>!2Q8!PA *'#_^;3J%(7)P7B>TNZ82
M= B"U3F $T)T=CPIF!@:7-(2* /^20*Z"&+QX($ A@^I))P(GDZ3%\ A[JRK
M[8*"TYK""?[6_@DSM]^G@023BTXI/C1ZJQR-Q@FJD5X9+6+5&1TJ(8PCUH9B
M2B10$9Z>6"K'E\D%NRKI\4;7R%)&4^TL#F*-"M7L!S2&9RFS+X<8VX8N</]6
M9GTDB!AX<E7_Z&M#_UN'\0 EV@?:!;JG70@9/<4T-ZL$*G%6GVB/<]T$ WW%
M,8) 8^@)(PDP)<\!![L]V?W3ECYVVA^W9E.^; >G#63[\]$S#7'EU;'Z0F#C
M<8D9"^-E,_ZY2VS&-#W)>';'%T+D+IC/!QD<;,W,0BLQ(ZUK0TZ2Q[5A:VRK
M:@_J777(;EH6_%P;,EO" 4JF#R#'=^:W $?>2:B:C^C!Q*?MV*7>'R=RRTP!
M57/)6D\JF):^@7&0?[9BGVEPGTL>TN,+,6"9>_:O J@4FKU@<_#_0' EH>*(
MTJ'BB*;\#W\/[A7J[_;^?07J+( 5W!@$-DP;/2?0E0G6I@LUI85.2_-Z*3Z;
M9B;KT2LW.9\%^][ /Z* '&[4-RT0/W//1P)?GA0]4X6VQ*>E"  Z^,9_!":>
M'N@VOB<.&7JV?Z<$QH76C2_6E2>$@8X^L"T@5V//OUIJ0):HJYD&LR* &O6!
MF^</B(&O1U6^% MQ1Y4AKBXM@#6J>8"HGQ8* :XY.1LJ'@R$'0=/QO\Y$!7
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
M,CR8L*?=01.RTWTH@E<"+@: N6TT=%"A7=$<?TIDH)KJ$%[KP"XP6T;[I[5
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
MJ'N;M1_ZA)\0-K2=#V26+TLL%TX-^6ZH&D*N#+5J ^Y7-CS%=R6??LT.,\
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
MPM9V+!B19)D92P]]<)W;25I!IUQDB)\HD8.@2P]R+AA&,D_2$C(%RW8,YU0
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
M,E*]^794W:I]D2 [8Y(;=J<I:!B8WI5EB>-Z0-?M%7F-4.Z=)#=S,$(YH(B
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
MSFL$2\2H/Y11_WE8!B;=2]P5Z4K$H#.=*FN?,;V)QN\).DT>=U:\)=>VM$S
MBD*2;NFA#^X;08H>)>/(,1T]=*[6O7WF5\\7=8Q'C/PG-(T1.<NO>['_WI.N
M& 9SY8G0GVH(.2>U>-XV5%<IY[KRPM)&1;P-RXY#3S6&9TGNG$U8/QD]%]3/
MYK9Q=C-$^U=Q9LNR'@7E!88IS1ZYI';C3M 0(,Y@@@+% )P=^Z@1SA#.[I0Y
M_RK.V$;+Q%MCIX,E3M7!5'Y05%:I/0/$E\3Y+$F\:<^NS#FM3,'^Y<8ZS#X
MJP3=]2B,\LY.RS?#80^GY52H\U"FQ2<B?0+L<H.:U'-8+&(EWX@TCIS1B9,V
MP@'DE<MR&,KY0Q"Z*WKZTQ#B2&NY7#%<SLVIM1+9'RU,7DPA!'@IL)8L"C]&
M$+HKYOG3$#+I<8*/-IV%F].XF"\-^M'.$2"$T@:D60I_"T/7[VPM6+85AH"
MQOKF:AVK%_K*YZ(.L(C7_FYZT!XH^P-M%Z)%\$WPKP@^=.*3U6 D-JP(.5IR
MG>9(80>#PJI?:<-5@0P7>^LM#H(?@A_BQ+\'/Y%2O(4C%+=8$F([M\!;Y8FS
MAJL"V#&9)?&W.HLC -XV !&A/CO^=IUUM5KKKZ;JW.U9XHPOEG)XBC] K>DL
MSGT\L_ZL2C3[,(\(QBP\*2$#(T2B-$G>>X@3^=!R,O>G4&ZBX /:=;3K:-?O
M8]>OWS\DS,$\@!4S$RMCA\$<Q>%=%^U%<7B_0'8!R0TM/;(*UO[?BE](+!B_
MT(%M!2T3S!_>7$Q"^!RG"IKVV(Z^RN?F4M(DDU)NLHD7Q;:&4]#S0V!,EN-1
MP-!=G3>1P^?<&'PUFKY<G.P*2SQ7D/J%N1KB:Y-SO12,,+\<R_+\&5^3(BA>
M'!21Z^>SD*@U1V6B5QL$;FE&VKT\H9DU7H!(A"];*3J+86_55KD6G] #=6Z%
MUD)WS(RU3\3?>X*">&J%&6._5@\NHFLX):)X/\25?U [/,C]P6/\4(="\$T9
MRGZ:-_=F]EMMW!E*":Z,W-RZ6L*;N4EAG@=:(NVB@;-9DCY.&+]*"-U?6!/*
M5OF3"#MJ%Z HMMU;D()4:A"C3F'N>S&3 @L083;+8\<\^"H*,2!@H?243P46
M7LI/VIYK<I*E=)9$N>GCOMF&P-HG;//'E11^.VOEDIS$Z>IDP./ESD1LD7_X
MFA7''7#>% '-P'^0_U<U!3;A6RHG>[0J.[IC%/JCW-"::#BSKX7$8\>UUY!;
M^);PAMS"'TV&7X/>J^?+Z4JWD_K4I=UYARR279K'MV,!8C#U!R-?\#WA[X-*
MPU_$^_DX.,_;^>NE6HA773FO*B16-_CI]PRJV)N/VE8CE.;.:"F6!HLZMP#G
ML;0I"T5D">+- ]D5P>7^/!V(0)WAO?KK&'L)+7VV"F4ESL?8=M#.E9Q>:SJ3
M)A!:,*F"RS+G)% (6==NLN[ A_AK)BNJ<J/FH!R(JE.9*\W9>I10@]1DP5?C
M))%E3O02NT$GXL&!^"1CXE;.7\B+B-CN#[@R'I1%_3L WM(;Q4D[OZB*7L,5
MY;E:\E92D8V /4Z;%1%L%LP4>11OVJ.!WJE_%O;6:W8^U$I,7Y)]-L$JTV:O
M-Q$@]M+&13A]SE,F@M[G0P]5Z?EH\OPZ"E^"CU)UNJ8X\E;=FEL=6RX8ORNE
MAH^!;])(]I:Z&!W*S,.E!5)E@+GJC@]K]F060>3 IT/NWEL_.]\, 4[+PQYC
M_U'*BT&H'F0<5I!]4G/@S3R/A6V21$44,4M?$A6;,BO)!!RATSY#=);'SUD+
M_1YL[VW#ZV8X[IG@M6V[Q9G"[T;24B[)G9:<",)L#>&5LEWV1)M.!"\$KYLC
MKV>"EUV/9YBHT8R[M;IS?K(R3-83(+S20I2W[?MM6G$FLN+8L^;0^7NFCIRH
M*-?I11@'(5CNW/[/O^*+328%6.9_L?1_]W/ OAF&?3A@'YJ-R;X"U(UL?V]?
M]K9C:\[7^[50$"1BS6+&DFTJDMH&:[*/4F7(,R9@(;\6@N6M,O/?A*6+.6H'
MZ(BUJXRF48.T<CO7F$!8 @9.D3=3SA*!$I'X/^2!?AN)+P&8;^0K2Q\?$FZN
M*H[GY4;5M1D! A!P=(X^!N#U]"9Z(.&&'DTSBS!8.:9E9L;;S%\)[$[D^'\_
M+6P)'F[UL:$9U^MSOF^%<'.,&8! !!AH/4 @OU4C6/16/@B_\"C[;Y8PV-G6
MO-BD+4E>5^>UB5#8%FJ 0*>]C0B&RA(G"IT@;]EMX ZQX]]CQS\%P9?(6XEU
MD35FL8 Q&+&JK-?U:DE,D0<Y,IME\>OL:H]P=VFXNSDN_%NXB\<MMMY1MH+D
MS+EAW%9FPY8K0-REQ=X9[N,+>WWRH;3B@T/""S[\<<7=D:_Z<Q;A&HJ!(]E
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
ME^EAKN/ W()_IO'<^_;_ 5!+ P04    " #50)I8U!@]- @)   \-   &
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
MTLLX; M 7IYS8QC[&E5'$L(\5B8<-+,2M@# L HT,B]\8H[;+ [VWXJ#XFA
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
MBA^7L!U<#]O13N_5X/FXSATC:8S,@27/B;TK(L\"^^^7^]S7_NKK9D_ _:7
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
MST*Z)05:DCU:B2WF9]UJ!.X%D30]"TKN@OY!0#28I\@796!&-R!<ZQI4]OM
M0_KON-6#7C$Z6G%/2MLBP1(@SG[]N+A:A.].G($=.'W3&5D1>"Y_!3UCR%HB
MOU?1R>UR/5N&Z':.%LOI[&X&%WA=S3XLUN%L-9LV*7HYF=S>+\/%\@.:+U8W
MKV?/[[M"T?10#5&>@'F^-\C;H0"]/Q$4"U[HBE4"J8P@RF,A<R&Q3@T4'9 D
M*9$$2AQ(:$4VM% U<:V@6LMJ7XK"1)[G&4[OW.ZYW>KY?.@,SQ'F2?GJVL[Y
M8 "UC>9";JN0KHUA27]6K%GQE?/[@[[[9/[<\)!(D=A)4!.45@5*2@2YS %I
MD#OH(@TA752E.-\T5J:4 VI1S,#M]6J%EC3!'"<4L&HM&)9HP6.S5%#/(6E*
M8ETGG!3/,;\[&;K.>5" KR"; &^T>Y44#(D'(EO+5NJ"1EV$\QQ*5"L'#E89
M+= EYSO@694\QQ:[MC%'J9"E1@>8APC$-D%3$I-M1&3M+Z<TW#-?,+>.\F:D
MB8W8!UK0B#*J#GY&$\@T8-".L+U@9&G&*L4U*)6Y>='1F*;!$T>,-%(B(1,B
MC5@PAO."^,U#6P^=OUE5>!K,M&\A<L=0J14\!LJR,O12!L,'L5,^WBD1M)!0
MJR(;/6KY3F6G2AZM)!"O&+.ZO@#*:Q$]S_S%.VW[IUZ^\54+C5O"=4*D3.P;
MGS7OQE[BW(]@*_QL[,$G7T7X1SJ."L%VB@1ZF]%K'YOXVFG08@3B-R9%M0O6
M5Y5\D\/[ ],>_'#X"SG<4E*G?^EYJ+D".K6+CMOY:A1**Y^/P:MM:$?^L H+
MH(\)JA2!-G,79_J6;;$J=FBB54\IH./=+F(T1I=Q+'9<80WVU]=WE3^>^N ?
ME_N_8_GW(/"+%=@;-_$_&,XUG*(V&:9=-,F@2?@1KK<=KN/^\O\7+:OLIYI]
MY(TTF.VM+7OLYR(<?]Y(P/U$]Y9"^B=V^0M:)^-C0MTSP-$O8)03HWZW:PW;
M)_)ZI'T@?WK4S_&&&%5W@5,X%/CX0="D3H;AT'1[IT'=^U9C=OEUH/J$4'Z3
M&/\)4$L#!!0    ( -5 FEB6F4:'N@<  "2.   7    8W-I<2TR,#(S,3(S
M,7AE>#AD,2YH=&WMG6MSVC@4AO^*EDY;TJEO0%-JTLPD)&EH0Y,-9-I^%+;
MV@K)(\NA]->O9.,$DO2R6RX646;"198M'9VC5X]L8^W]95G'-((T0"$X[7?/
M0,B"=(RH  %'4,C4"181Z+,XAA1T$>>8$'#(<3A" 'BNO6M[M5>V:UG[>_)8
M[=E.C/J@X=1VG9I;:P#/\]V&[S;!01=4K_KMG2SWT7F[_^7B."_VXNKPK-,&
M%<MQ/M7;CG/4/\HW-&S7 WT.:8(%9A02QSG^6 &52(C8=YS)9&)/ZC;C(Z=_
MZ41B3!H.82Q!=BC"ROZ>2I&O"(;[>V,D( @BR!,DWE:N^B=64^806!"TO^<4
M[WG> 0NG^WLAO@:)F!+TMC*&?(2I)5CLU]U8M.2>CMQ\)\\W:X)#$?F>ZSYM
MQ3 ,,1U9! V%_\IN-F^3.!Y%-VDL-\WGB$"!KY$Z]MQ1 X(@]P=,1*V[!3RT
M9USL-V146$,XQF3J/^_C,4K 1S0!EVP,Z?.7>8I\3Q#'P^>M+'>"OR-Y:&F>
M0-^$!0D>R8.KNK9R^WVY#:A_KY9_4"4.%DJ<H,RV 2.AW'C\^;1SV.D_>^+M
MNJVF[>TY ]EP\0JJ&<B@17RNGK^JVEFGUP?G)Z![\/[\$O2N#GN=H\[!9>>X
MM^1*+E9);2P.>XT3/, $BZD?X3!$5&9X]J19<^NM/4=ES*N1Q9F  X**'0>,
MAXA; 2,$Q@GRBP_S1>_*\J+<8A4W@=PBFVA6FSPH82I8D9"'9):R$+BJVHMA
MFS6\JHU%X)2ELYWFXK(",I?(T,U\HCH9E__AC=F("QQ ,O.<#&W!QK,#[-;M
MQNNG\VTV*[QHOU7[Y#9C4VZ\%S>_Z3)'A+]A<80%LI(8!LBGC(\A*5K1?M-<
M:1LT[S7!SWI*WGOOO][TDS^TMF%[*[?V3Y3B@L@ZYR:SX9*,KME>W;BX-"X^
MGU#$DPC'2S*X8==*Y]U%TYQ,D_^K+L\&GGR3[\7?0,((#L$3-_LKC\D?X1@!
M-@0R$*16+RN,5ZW+.HQ-65?><!S\25?'-& \9APJ=-9%S4U@K",P9'Z4"#,$
M_'P(@,'7$6<I#?TG08#0<%@X74V.U^IQ;WYRDLU67MNU(@HPE8$N?"M/6FBI
M-J0PQ)""'B.0J]=4B4$".C2PES9./-!0FU.(=4I R0+DONOATB3?^+@</O[)
M^2I9B.>ZRQ+T33O\Z9_*=_GE6)5U+*=CHRDXE8.7/!AHLW$,Z12<X;%T3K@%
M*+_&OKI6(T^9=-<'^;(%5+U%/EJ;/NHEAAM0\_^ACY<H2#E7%^5R67P)SL[:
M!E.7CS!KM?NJ=V P5#\?&M+<'M(\Y##!!'3 B6QE!D($.O0:)0*K.R 80&-P
M 9696+J(R;JI*/:\%NBF1&"9CT.!1G@9LTF#HZLQ4GKX.R:&1<OD(,.B&K/H
MP?=T#.4$;YC^@\$1Q#B(,#B%(DGE+DG$P#O[@SF%JB'7+-C]'L:0&CK5SXN/
MATY?O-A&/NUU9FC:9K:<YHMP>5KZ*+K<6HV\N%S&61A#EFM2O]V:76L8MBPO
M6RKU:R-"DEOU P8E]8.0E8GDIFUY1#Y\1""YC1RY>)ZS"VDZA(%(N;J87CU+
MV132T4YVN]/R%/91=$5MM=-X1R=5U$P"->'+.[=]IA3EMQE5#R$3+-U9P:Q[
MT\/;(T(6@YWZ^]!@I];8>7/ZLH^"B#+"E+A^QA0KVBS$U0!GF9#& &>9O6.
M<XN \\XTO!W)27@2I<N>AV]Z:'M$N&*04W\?&N34'3F[+$R)+*AZ!$_0/&F:
MB^<S(P6+-TTRAC,-9QK.7 =GYC_UOSF[F7^MOL?P6S$-7^HL?-/#VD;4<M-&
M&]8TK&E8<V/W)U6_0!I$AC4-:VKE&L.:958\'5ES_B)Z+_U;IIN+Z 8Q#6(:
MQ-1 <,NHKK>(N3HYU;SK&< LK6L,8)99[S0!3"F!G^ 0<5 ]23_BU<RQ-SUX
M&:(T1&F(TA#END]:CKY'J[G/7?/.9YBRM*XQ3%EFQ=.$*1=/6E:O>@<[YF'O
MFO+(@MWF*9I:^M PI=9,N2BG5[W9+9AW[G!OSZ^S8SBS/#"S,@4UWM%)&S43
M0BU1\[A[? #>C0>GAC3UHY0%N]\A624Z-;2IGQ\-;6X1;7;4,GT4YJO! [,B
M4 D)9L%(LR)0*7UD*'.+*//.+\O[$<0$TM!<.=<:6Q;L+GQJ^%,_1_Y<:]^\
ML=^HO]VMI5!'P %!\CW$UZ6)I:Q.(%^U]&W%K8  $3)KG)OOJHEGW^^.)7F#
MUW?O-^DO+C6K8+A_O7G"8=SZ\3&7V6@WJW/?#BO9LJUY42\>?!+)QJK3DVV&
MA[+]E(/308+EL,>Q^K4_3$"(AIBB$& *+M7Y9\]R:]7)#F!#<(E&*<EF":!G
M?=X!$RPBF4U$""0!BY'*<_N\J@GB"$2(A#*#[#FC"#SP*'Y5C'1:D&_,<D.0
M/57\*6 3BG@2X1@4RXC;/^@$)NY^$'<E"[PCG,0LD<$E T4ZO@NGH.;6ZC]R
M:ZYM^6O$BUK>2K$5,,*X7RR('! $N9+SJ+6X(<J7;5=5(C*VK=GW8@GE'!)?
MV<V;N:J5#2F+2<J*>B[V(V0-.()?+3B4<>G#:X;#F;^;316ZQ<+->9J;!=*
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
M*^2S*3"#>"(1ZJ;<V0P7B&!_<-Z[&/0_];NOT1;Y5N=\JW.^0I83E8!5"U@
MP)%GJ1P_LFG'E#M&:;NO,L:'V=+OK@HJ#-_DCL;^8-B[OKKN#7>ZM7E+CAH+
M;4O]_=0K U;,&JJ(NO.PG3[<B$ZM26R&.P%XD.)V1PRD8#B-X7I1HR9/E6E)
MUA.T?0S:AMS\<N^*.Z)!!V6.<B*P1NZ(H]P>)N)V!@1[M44%KS</0-F4JGNV
M.XZZ'R$> ?*4C5]+3?XPYQ.;VLOR3;#3QFYQ5SK8O>Y/\7'N97!*"KY?#DBT
M-X;0U=]<::;WZ5.OBYW][+PSW-E3OS9N:[<E0=KR5^YQ(;_.'J2ULGP[=11(
MKP3]' #^@G.FJ-^:"("\2^F@[7O$JFW!6Y_S.=&LT*;@MH.$:XT,;J5*/+C3
M'4#ZJ:9JI6H)CX,&&Z@<I;),(U!+@=)BHBB?FZ^MHTJ3Q3-Q*4. E3,O0IB#
M"0Z8E4C;'' 9Y6H$OX]K[/CP^&1GY;$#L=NYW5$/ENBB/]AY0V0%"\N5=$;4
MTAJO']?A:J95N=2>#%<-XDW/BHFJ-O7N[-)=#G_N70<5;G;=_^?/NQV'6[);
M>VS6S;$/RNU)-;&7^G&1)+B+ R 15:-.PN?5*7\;/!-<7+_#W+9X8WVF:OI'
MV^LW@$^T<+6>,.E87:>')1"0Z^ BG>!);@, &@J_]4SLGI45G\2JH=HC)WB4
MG4@V6$[%6.9+9]]XA#9M1$<5BK#1AY&LSFE"%E_=DF8/=[)Y$;@3G KH-RTN
MG>XFJX <AK?M<-:#9[!2!<.]JZO)->O?N*TYRW/0>N "X6+?<Z KM6HOGY2R
MK&<#-"B(<*N1.1#3U>5]<DUK5(UVI3JW+0(W>> V/JU@)6:US<ON$S#!GLP*
MX\>PV5DMTK^XNNZ 1];MG/4_]X<[W6VZ]< QE]I;ZW39N'FC8F[L-,U*'G,J
M9FD+\8892V_ V(ZI*JU(22<,*V:9QG2R]?9'(N*%$:T=[@W<[[A-R-1N!X1
MO(5M8Z5>?B :B _N/2'7B1L,BY"Z]H@GZWT%NIPH8?MXPS:\E5;A]BZ3Y.Q@
M=67OI4K05YBJ&>9  2%-)8+5/>^^+1+8".]B-Y^/#TJ'=@ #S\A'_$!.XG&;
M!?6MMTS>6R9O%S-Y^]TUH4CD'18*2,5AZK[J*,@!O]\*GM@N;G3 W<%2:&EK
MSM6P-1'G[=B]>2.M>(R!6FA-J]/YEH6MAC?'\" EE83(-^9HCM^SV\9-H]M@
M[PZ/]OG!_M') =KWX/H17G?[I2:N_=@$[M?.VO";VVZW=W-S>;W#SO^+G1/H
MLVE2.YZ)).THKC&\9FKN3$>%'X/T(![VO7R0!NXXL%L\^?H!A'^6EONC*NU>
MR?@IC=:T_Z,%_1<9'_\?4$L! A0#%     @ U4":6*]8<ZZC+P  D"0" !$
M             ( !     &-S:7$M,C R,S$R,S$N>'-D4$L! A0#%     @
MU4":6$ R;5)I)P  '&T" !4              ( !TB\  &-S:7$M,C R,S$R
M,S%?8V%L+GAM;%!+ 0(4 Q0    ( -5 FECZ)57 +HP  %TR"0 5
M      "  6Y7  !C<VEQ+3(P,C,Q,C,Q7V1E9BYX;6Q02P$"% ,4    " #5
M0)I8XB$=,GT> 0#FZ1$ %0              @ '/XP  8W-I<2TR,#(S,3(S
M,5]L86(N>&UL4$L! A0#%     @ U4":6/NKV0CKR0  8W,. !4
M     ( !?P(" &-S:7$M,C R,S$R,S%?<')E+GAM;%!+ 0(4 Q0    ( -5
MFECAHY_ 2H<( *L*50 5              "  9W, @!C<VEQ+3(P,C,Q,C,Q
M>#(P9BYH=&U02P$"% ,4    " #50)I8U!@]- @)   \-   &
M    @ $:5 L 8W-I<2TR,#(S,3(S,7AE>#$R9#$N:'1M4$L! A0#%     @
MU4":6,,01C3^"   /C0  !@              ( !6%T+ &-S:7$M,C R,S$R
M,S%X97@Q,F0R+FAT;5!+ 0(4 Q0    ( -5 FE@62O3-EP4  "8>   8
M          "  8QF"P!C<VEQ+3(P,C,Q,C,Q>&5X,3-D,2YH=&U02P$"% ,4
M    " #50)I8&#&AF8P%  !T'@  &               @ %9; L 8W-I<2TR
M,#(S,3(S,7AE>#$S9#(N:'1M4$L! A0#%     @ U4":6.R6<I.*!   :!$
M !@              ( !&W(+ &-S:7$M,C R,S$R,S%X97@Q-60Q+FAT;5!+
M 0(4 Q0    ( -5 FEB6F4:'N@<  "2.   7              "  =MV"P!C
M<VEQ+3(P,C,Q,C,Q>&5X.&0Q+FAT;5!+ 0(4 Q0    ( -5 FE@CN,=Z@!,
M /=C   8              "  <I^"P!C<VEQ+3(P,C,Q,C,Q>&5X.3=D,2YH
8=&U02P4&      T #0!W P  @)(+

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>152
<FILENAME>csiq-20231231x20f_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/2023"
  xmlns:csiq="http://www.canadiansolar.com/20231231"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  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-20231231.xsd" xlink:type="simple"/>
    <context id="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_vmuSvB5cYUKMpf7m3p6Eew">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-09</startDate>
            <endDate>2023-06-09</endDate>
        </period>
    </context>
    <context id="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_LbqH5nCk-E-Otk80LW4-Xg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-09</startDate>
            <endDate>2023-06-09</endDate>
        </period>
    </context>
    <context id="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_K3_WzrHfDEaf32moCC3evw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-09</startDate>
            <endDate>2023-06-09</endDate>
        </period>
    </context>
    <context id="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_jd9ujE6WO0GFzXPfV9C9cQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-09</startDate>
            <endDate>2023-06-09</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_EurWMbbB_UW9LVBtT8eOOw">
        <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>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csiq:CsiSolarEmployeeIncentivePlan2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_HllQR2xnjES_oGeFb44_fQ">
        <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="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_x61QiTS7vk2yC8fjTWcApg">
        <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_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_tqWT3kkae06ylR74JxfKoQ">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_90ooRo4vKUaaEtqKMW6dYw">
        <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_StatementEquityComponentsAxis_us-gaap_CommonStockMember_yyIOdaaHoU23g3A59pxXBQ">
        <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_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Pb6OP8H5bkqvAcilbkhrrA">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_XQKASrd7u0aWNhiNED17aQ">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_JuwlZIZFPUKUOIUgjl171w">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bwp36UcVtkus0aJ_NS0NlQ">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CkgZWnvhgkCK2gFFEmRvNQ">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_7jZlWkmE00yrQkmbH1b0tw">
        <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_EsaJlPCRokKRAoKmGxvrkg">
        <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_ukS6uCYet0mQ2Qi5QNgu8Q">
        <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_y1RBQQ7YeUqbRymv8TueQw">
        <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_rRBu-kgVt0WY21K0oo2jVw">
        <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_3m-v0EagwUWVRnv2zzDPMQ">
        <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_6xsT4e2Gjkab78BvHlOucw">
        <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_XTi0TejTTkCB-UXxqTe20A">
        <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_jkGkLsMewE2g2QVZd_2ugA">
        <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_8AM4oM-bB0SF7uXmH2YABw">
        <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_D71GxTdfmEqVsDXYlZTY4Q">
        <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_jqv0NgGt9UGqU-i1oQGWHg">
        <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_U7ThNtRpQEiR9XT0PeQeAA">
        <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_N8sNhAoK9EWuCgXEeFOGZQ">
        <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_gMrXdq2OkUa6Z0VHvlQ8Dw">
        <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="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_4D65mKuedUGq1XiTiiNd8Q">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_jwSkttdbKUCNaJnLxajJnw">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_9_30_2010_KL-w7vCxKk-QXlF6lReWvA">
        <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_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_7bSnifeenU-mwMT0cANtCw">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_PH1QL8FbtU-0E4Jm8ntwfw">
        <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>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_IfBrvPrh40aCF3r7Zhw4Pw">
        <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_Q9hHxvoq9kWadEGhK3tYvw">
        <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_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_uChkNmkoRUCt-TY64DPlsQ">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_ovWWKaB1akSfnx5UIhANMg">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_OqVIfmcRQE-jZijqUjFcOA">
        <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>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_cCDDc5ROAUyqavdO9PgTvg">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SJWO4EB44EidW8j-k05YaQ">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2hzThO8Z50ufaUB8VvdJXg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zKatWNF4TU6yRSoTij1Shg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</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_ShippingAndHandlingMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2WKKJyW2jU2pdZDSDXQ1gA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ShippingAndHandlingMember</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_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_wlyQsVEsQUahttUFFxoVMQ">
        <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:RecurrentEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_qv1igzzfT0iqsNUYxbs30A">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_-1crGEqDbkSMds7G5qUdqg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_PanatiHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_28_z-FccK0K2_uOZ8hLwVw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:PanatiHoldingS.a.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_MarangatuHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_frZutGOLJ0iRt4hDmkhDAg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:MarangatuHoldingS.aMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember__zkkgeZELECYQdvuU-uBlg">
        <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:RecurrentEnergySegmentMember</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_DFjbF0wGBEag26Rbcr_80g">
        <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_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_SalgueiroSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_QwmII3n2P024n2JLrEGA4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:SalgueiroSolarHoldingS.aMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ycc9qZBQk0mafxcjI8hU4Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_AFbAl9IQYEeLM28PaAfytg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:FranciscoSaSolarHoldingS.a.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_RecurrentEnergySegmentMember_dP4rfcSfoUG85br_VyTGsw">
        <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:RecurrentEnergySegmentMember</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_93jJV8QIm0u6Bd9Mt4wS9A">
        <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_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_SalgueiroSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_B9Zc3M7B60S0kM-UsATnZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:SalgueiroSolarHoldingS.aMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_SE9CmfpHo0WMCROYzov2yg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_JaibaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_002Ji-v5gUy1Rgc2FkDeWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:JaibaSolarHoldingS.a.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_qw83573DS0-MAqArJ_P8SQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:FranciscoSaSolarHoldingS.a.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_UfbXzRo8LEKgLD_nlx2rzQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:FranciscoSaIRenewableEnergyS.a.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_vyiWx8d08kmvKMKZ3IURJw">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_BIgWZIvk_EWmFWQcMv_AFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerAndBatteryEnergyStorageAssetSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_XFVXdi_3pkW1xBUrDjNZmQ">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_gVl4LAJ28EKrWm3lcp4Dnw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_WkKiaqog40anyDNUyUl1Fg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_PowerServicesOMAndAssetManagementMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_VZjE-fOnYkqOUwdn0gPIcA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:PowerServicesOMAndAssetManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_EpcAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_C1DCxoz75U64bVlg0z5AFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:EpcAndOthersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember__2ftJEhjdEGGk0vLStg30Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ElectricityRevenueFromOperatingPortfolioAndOthersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_GZqHbDlNqkehDq0GE22Rng">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_SEuEAcWLsEKB8jGq-5tJRQ">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_E8layZZEjE2ocScRDUb0AQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BatteryStorageSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:CsiSolarSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_srt_EuropeMember_spKQL1iTMECH6fEZeuouFg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_srt_AsiaMember_Ccd8TWlO60S7ueYSQuy9QQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_dpHY6AS6s0GB1bHfOgIJMA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_IMg1ieqZE0atwa5QfNGREQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember__9LYC2-Gd0elIPGfeP0tUw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:OtherCountriesAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_AmericaMember_sttDZT8y_EiHw1Lkdcg47g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:AmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_ZA_pCUEXWyP2EmHsrmfjNS-kQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ZA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_VN_tnq-hmv-CkitDsfb8xrNAg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:VN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_US_qfrlnaTarUCfpMxND8VexQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_TW_kKIBpuIbgUitgiQaKtNZ1A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TW</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_TH_GcDXfmDCgU2V4R6AxgKozQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_RO_EY4wo3_jQkyLKAc1mdxV8w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:RO</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_PR_3SQ4IyZkP0itFPZ7hGnZyg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_PK_M3tvfJNPNEarP-zaO3oNBg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_PH_8rvjGJxJbkOpmiSIMdSCcg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NO_lQ_jJi3Sl0eWV8X_yFuQ1A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NO</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NL_Qn1hIdsiCUW0oFMkdFGjiw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_MX_NMFkoBhq_kuK3rUhEZRC6A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:MX</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_JP_VyDig-qPrkSZZIim5XSpYw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_IT_eExYyvqu1Ey0MxnyGIYIlg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IT</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_IN_NKH-1DjtIEuAt8079BI5yg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_IE_lPg-rjriN0msWFaCk5ClVQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_HK_I0z4OJr4h0mXkSn-N26yig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:HK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_GB_j_VILhWwQUaMhqhw0hASMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_FR_5DxMQd7MZ023Nz0AIjXdHw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:FR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_ES_wo_w_2-o_0iNc2yc3wf-5w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:ES</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_DE_KvAAFG4KjE62jpekJ-Gt7Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:DE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CZ_HsXXYkgwK0WT-imW5l6tjQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CZ</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CN_oymL3asBO0-tC7Fm15OWTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CL_g6N-dWvbKUCOV8prfrDqyw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CA_bimSLCwh5UaGvlIeZSM4XA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_BR_zSxmWOrz10GjvTsPdwCi3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_AU_OimQUMpSWEqzebVMzQ0qaA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AU</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_AE_ecuAg028BUeD9-6R85_nOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_Ym5lZMi_q0mm5FmmLodikA">
        <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_SolarPowerAndBatteryEnergyStorageAssetSalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_sU9D8aDM602j9siHFIf_Rw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerAndBatteryEnergyStorageAssetSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_kRUt5wL61k-uwt-4XUMJ0A">
        <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_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_CkkAzpM5yUC69fxG3DytTQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_0nT8QCQFS0usQ-YdxSGbKA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_PowerServicesOMAndAssetManagementMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_ulwMvQZk80KKtSJXZClliQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:PowerServicesOMAndAssetManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_EpcAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_lN5VIncdzEqSBCDxwyttTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:EpcAndOthersMember</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_ElectricityRevenueFromOperatingPortfolioAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_FwgB321FLU6QOo0sBkHIfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ElectricityRevenueFromOperatingPortfolioAndOthersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_DBX-eee19Ua5lfH9qGltrg">
        <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_1AmprYuMYUyxAaEgAQ8Vrw">
        <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_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_iX8uk5eLGE2EhbDQ6SH30Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BatteryStorageSolutionsMember</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_54ilYGUMg02kpw6POHPimQ">
        <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_nMb79flZwU2XVzLFda8gnA">
        <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_Xn-cj_H5WE2eKF_GA7YhAw">
        <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_JwNcWx_4oUaSOC6I2Vi9UA">
        <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_6RJ0rD7ukE-noJQLU8yfdw">
        <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_-J3IdnjmkUak8Mk3Jnu9_g">
        <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_bye0HB4tDkWdM4M9Gac4kw">
        <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_LQ0KVcXBkU-BqmL8v4Rmrg">
        <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_rClnIs8XHE6ardczfoeA7Q">
        <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_DRADgvCbWEmHueMU2XNbWQ">
        <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_FF4thZh7jkSD-LrQ3_iSeQ">
        <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_FuMZ0GOyj0mHFW_OL22v4w">
        <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_PR_93_vkpCKhE6pFL2NbjKKFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PR</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_OFMfyRgwBkSyPB26_kf9aA">
        <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_PH_6FewQbssQEWUY3rJpLg6oQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</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_NO_Nx8FtG8IokaXHjgSBxG-sg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NO</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_F_VA7yqQ2U2NCqrEDD4tsg">
        <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_npl7_Y1Hqkihicvj5DSPJQ">
        <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_bxFbhvhuI0O-SiLF6ktQCQ">
        <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_IT_Z6rmUdAu-UG3tMAKJ8z5HQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IT</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_YLBMR3ppuE2ZbYRaWsqeYQ">
        <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_BN5l5xCkNEu_9-eLhbMkNA">
        <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_HREn2zv65kOERjskzx8Bmw">
        <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_11yDerAYI0-AXSOU8c8d1w">
        <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_prsJgThXwkK0DkBYeHQxhw">
        <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_noeabbPP-0OZsYekbvK9wQ">
        <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_Tv2azKStHUyAhBp0VS_2RA">
        <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_u4A3Hv2TDkqZd3bTvBxhPw">
        <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_zvlQMaX7-Ei-4RmOoAZJJw">
        <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_7ZNBlq0fL02j-JqqBuViBg">
        <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_EkCEeGbOPUqzJHhZ1XPHcQ">
        <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_6VvFfi_Jx0O2RzERCnMRHw">
        <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_HjLY6O1l-kSTt4BkLhDJHA">
        <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_USmV4TH8cEOqp5sPzY5fbA">
        <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_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_gi-mheLUcECz-IW4UGI8TQ">
        <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_SolarPowerAndBatteryEnergyStorageAssetSalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_UOE56Zydc0in3HezTvQnbw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerAndBatteryEnergyStorageAssetSalesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_kdZdNlZYv0GoqVByeQWhVw">
        <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_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_yXIJLFQQXUu7p5kd6jImpA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_UVFxDdJ5WUaJkaCBYEZSOg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_PowerServicesOMAndAssetManagementMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_6HF3kM4aokOAqt6JNN8ZqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:PowerServicesOMAndAssetManagementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_EpcAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_9zEawpupjEyPZvhLUs0AWw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:EpcAndOthersMember</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_ElectricityRevenueFromOperatingPortfolioAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_v2VhsCQKYEmM-HMcmj2Wtw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:ElectricityRevenueFromOperatingPortfolioAndOthersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_QB-7ZTkSokiOxsrvhB0r9Q">
        <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_LVtBZfF6NUOmIbdMPHfbMQ">
        <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_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_Ie4WjpDYlESXByb1KAtYhQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BatteryStorageSolutionsMember</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_A2bwlrhB9U2HIFjGRDAlzA">
        <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_Z7tjChbNXE2Nvg1xGIIvtg">
        <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_DlyVLzpTn0q0GrQoda0sNA">
        <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_HwySurKwLUeb_LOv97PYww">
        <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_UvJjjNWrr0S9fkSIgWvAzw">
        <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_3kqedtH72EGZkldAj3RTkQ">
        <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_74vH2XZlsUe25SgUltmwZg">
        <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_t4Ua-VwUu0ufNZBLcOb_0g">
        <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_iYJMV6XS90uxCevUZ03DIA">
        <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__FhEkMv_cESCW40Gatk9hg">
        <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_uM6Q-bemO02zPhbv8FbhOQ">
        <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_RHFrSvmzc0a3iT9xaEn-Jg">
        <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_PR_Y-Sm5bxG0EOApOxCU0cQoA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PR</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_xDb6Ji1hpEe21wp1Y3s5aw">
        <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_PH_wslf3caoC0KVzovacuA2Qw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</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_NO_PSKCbQI-SUqjCnCp1hT5Vw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NO</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_S2ak4FRKlkeIehUdEKAZNw">
        <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_rIVupoNWJUmg8hu9Bmp_0g">
        <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_lx7lMEJvN02y3DrKhPZadw">
        <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_IT_sLp6shKXWk2kVZZnVXsYHQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IT</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_I4BZyt9cVEC_EdPzi4xLiQ">
        <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_1_UCm0J_rE6XliOz48Bmiw">
        <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_nLTAGf7qNUSEUT-wfYgB-Q">
        <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_CP5vPjdFr0uEYokqWtj1oA">
        <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_BKa3W2iCxU2v3xmBfyu_Og">
        <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_z7X1Iyp_GEG02yFQvY_u8w">
        <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_dGBzHVixfEyy3puv9lnyZA">
        <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_ial6mEyGDUyeTrTdV4cV-A">
        <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_vPRpHNA7Tkyh4jWhmGQutg">
        <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_MTgcoc4fpECsRRagmWQ0Cg">
        <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_atjb8yPXLUKhC7Ev_RHrcw">
        <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_WZG1kPFaSkmvMSLweBobgg">
        <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_aXQTCijSaUilhwCSVMN7bg">
        <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_swzD0AEVB0OcyZg-wsf4xA">
        <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_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_LavraSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ETPfk2ZPukqKfxjgT5jTZw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:LavraSolarHoldingS.a.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_LavraSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_yUXt__MmgUK23RD0G4HuCA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:LavraSolarHoldingS.a.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_jlcp7PXgGEGokHr5DOxI3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_j3a2P-crm0yC9um6a5EKIA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_RWhvZ7CFnEudaMlqStWp8A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_pC0MBHGY-0y9MFPPOdUDkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Anz1b-Cg1E-m9NJrEADSGQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:OMServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_XmTEiQj15U2HdPU2H8xPEA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">csiq:AssetManagementServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_AoFYNYKjuU-GZl3Fn-1t7w">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_kRRetXLgF0Ot_Oa4bmpkTA">
        <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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_WaEiPFIdpUigAZIrpWVYZw">
        <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:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_tKWG_0dlGEmS_JeLhM_iKg">
        <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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_rbW637K8HkK-S1yVK685oA">
        <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:BuildingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_1_1_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_p-ctdiw5RkiQjve1vUjUew">
        <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>
            <instant>2022-01-01</instant>
        </period>
    </context>
    <context id="As_Of_1_1_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_OK96WgpChUWj6HVGwfVTcw">
        <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>
            <instant>2022-01-01</instant>
        </period>
    </context>
    <context id="As_Of_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_Mu1TlXWj0UaQrz0gkeDMRA">
        <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>
            <instant>2022-01-01</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_fV2OfmeUM0CyXcr4zR9vaA">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_jz36dlyawUSrbF1tPKL0nA">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_WonKcJH7yEmYXYTj_BUdbQ">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember__0Lfb22S3UKjdmcjEn-WXg">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_b7KOkC-sckKDHZFW9sLHug">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_wtfWg7k9uUmNEVCyI3h5kA">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_83EDoEjfMEWoemV3OxIMgA">
        <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_tiYVyUz1T0Ci1pJ6OnSkKw">
        <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_sXsDq7DIH0S5adk3_76X_Q">
        <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_ZbxkqhH5eUmv5-pHCQc7YQ">
        <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_gjN-gOlJV0mNQhr44tlUDA">
        <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_Y1awMXKJeUmT1wILh8pDnw">
        <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="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_IPhDe1eMzU-9u4wY8YCluQ">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ofOWvk4goUqs6WPvch2V2A">
        <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_65MNyzb-kUKwcInEYII_Sg">
        <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_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_G_sof2vZREGGV7DP6-AnFA">
        <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:CsiSolarTechnologyXiningCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_i3FNawm9rUuWuEb_u-PGeA">
        <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:CanadianSolarSunenergyJiaxingCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_zomsJJ-EOESxGYJtxFWrbw">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsYangzhouCoLtdMember_Y6E_6KJykUS6__byobaiuQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYangzhouCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_oi6E8usJbU2JheMoiCvhMg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsSuqianCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_HoZ20m-kpkiFH0GLeJ9h6A">
        <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_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_GrantMember_SJC_T6PiUkiIJyfjdZ827g">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_GrantMember_PDKeWQTpx0mk4o4EMRm3mQ">
        <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_Bzjzle3KlU6LAG6bGtWUHg">
        <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="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_NonrelatedPartyMember_2vRcWQ1yXUirLwGNRbD7jw">
        <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>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:NonrelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_Jt_J6OtYD0-QdC688D872g">
        <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>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_BFgOCPFA00-ZkpkVA9IU5A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_NonrelatedPartyMember_B1s0DcswmkmkLCgkYRES3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:NonrelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_NonrelatedPartyMember_hE6Ui2A4iE-kl7u-8_CGWg">
        <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>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:NonrelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_26sT9YAvEEm88V1olm3oCw">
        <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>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_M8SCuvwdX0yIO_09T0ld_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_NonrelatedPartyMember_0h-PgT-Lg0uWZZeFBAeWrQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:NonrelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Pfw7VPwj_Ua3M8gS0GbM1A">
        <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_2023_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_B408tTvLqk2iUNgdW4cxkQ">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_w8HLnwwTRU6XeCtrbN1bjw">
        <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_eUa6xvCwXU-CWsyq9pyoLQ">
        <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_2023_srt_StatementGeographicalAxis_srt_EuropeMember_Unm7Klr-7kWuCsRjXvZkoA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_NWzWTsqbhU-HRqyovdSGsA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">csiq:SeriesOfIndividuallyImmaterialCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_US_rB6V3NXeXUmlRKKzaAVgQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_TH_g1YNSVaQ4UKe2ckVolavZA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:TH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_JP_TgcbE02qakG8FZSQlX6n4A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:JP</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CO_G1EkubXYjUmFIB2rSXTX4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CO</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CN_80hDGSjEdki2xBN9W0xvVA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CA_SBx3YZm7B0CTSgUQfnF5WQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_BR_crl3SxeSxUistEGO4AAUww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:BR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_AR_2LSzNiPvkk69EXuydpD76w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:AR</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_srt_EuropeMember_41CRG9KMBUW_DnOK-C55pw">
        <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_-WJa2N5r-E2OQCV09CaN4g">
        <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_TGciro71Dk2gByw0WsJ6VQ">
        <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_WaOAhGglq0OMevBiINfFCA">
        <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_gK9lZ0E4AU-6Z8fIqAKIzg">
        <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_K4R_zb2xWUe3T0EgngOhfA">
        <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_rExRPOfZak6ApkGDw3JLLw">
        <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_OtJDSgb6Ck6yhWsx-gbpQA">
        <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_cuLi4ihwDESqpgpnrd25Fw">
        <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="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RzOcr5YVNUaFouhgn_rs2w">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ple6wfJcbEitB5Ka5Cl-qA">
        <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="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_DHZNwT3kuUu1FhkaKJdxRg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianInfrastructureFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ib3OfSU-4UC61ZHtZS629w">
        <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">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:ChineseInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Ud21gceMmEisGH9Zn4PJ2w">
        <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">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianInfrastructureFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Z02u3jPX8ku2ZpA852_MZQ">
        <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">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:BrazilianInvestorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCoLtdMember_b8ZbWxyuok219iMzTCp-tw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-09</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_FcvvE0HIBkWZqD8Hg-3FnQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_QDiKVtQG6U-Jyu7SgFLnnQ">
        <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">us-gaap:RelatedPartyMember</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_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_mKj85ykSDkyozgz43Uswsw">
        <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">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_OP-_1MLHEE-T8iAicucspg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CanadianInfrastructureFundMember_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_1-eSsyvD8keX69XYzYx7Xg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CanadianSolarInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianInfrastructureFundMember</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_us-gaap_RelatedPartyMember_2po2badM3ECEuY8a15IDsg">
        <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">us-gaap:RelatedPartyMember</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_CanadianInfrastructureFundMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_aXw-tRWkLkywJBlWq8iaoQ">
        <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">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianInfrastructureFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_evrhCYfCakSr8aaRtom3Fg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-09</instant>
        </period>
    </context>
    <context id="As_Of_6_8_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_aQNrQPl2fU2LwlO346dNxg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-08</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_OwnershipAxis_csiq_CanadianSolarMember_VNCIWLaEoEqbNebsJGuYhg">
        <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="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_KtjeEpSdBE29UQ1i42anQw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Bfq9xiFyE06nwH_UujkVjQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_o0i3MNYQg0id8cD_8G9quw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember>
                <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_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_gnpxtDFt80-qB5_y-k7BMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember>
                <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_2023_To_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_CrJgS-1PZEmlOQNTc6kWzQ">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_PiE0TfW1AUOutloK5kVM5A">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_Aurora01GkMember_2f3i4w2IukiepaWFkshaQw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:Aurora01GkMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_CounterpartyNameAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_0NariZOCy0KfQcF0wLrI6w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_CounterpartyNameAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_H7Yv3Q56lUWudLUfn3e5Og">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:HorusSolarS.a.DeCapitalVariableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_CounterpartyNameAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_aTCBbGanpEGyXk28hchnMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_CounterpartyNameAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_z4nKhrEU4EKrGIPFWfZn7A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:HorusSolarS.a.DeCapitalVariableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_-Wvdb1Ab7U23LQhVA6rH3A">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_srt_CounterpartyNameAxis_srt_ChiefExecutiveOfficerMember_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_xKvg9vT4ekSCjyWle_ogsA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">csiq:ChineseCommercialBanksMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_TH_1v5zTIJO3k6XzskkfpXE2A">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_TH_1Ufky5eSqEKgcT3kM6pMzw">
        <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_YR55zCHLvUegnjmf-RtY-w">
        <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="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_oV_jXQK8i06bID-v5lLp4A">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_eo3dyxxYP0q_6jwGcNqsBg">
        <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="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Re-yMV43ZU29itwBDNzfoQ">
        <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_J623DVxLCkmTkxgIfR9jEQ">
        <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="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_pVgnbbzp9UuDbQs9QBTXEQ">
        <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:CustomerRelatedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_Ouee3zmroUSqRenE986NCQ">
        <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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_37kwuGMl30KCeVsQ1psLOA">
        <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:CustomerRelatedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_l0KIKvSXx0SamHkVat9teA">
        <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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_jkw4N1o-sEy_lVsiRv6-dQ">
        <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>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_AvNSYgA36EqZWQjujBa-zA">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksMember__NjWXWYwfU-DynV03dcxiA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_LlqIDPLdakywe9xwvaVQog">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelatedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_zkCj-y1m90mgrEOzcYswew">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_JZHSTzHb_UminUM8eVdarA">
        <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_5vS7u78k_0WdE2U97lKp9w">
        <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_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Ea3rD8lUQUiIAC2sTV_VPA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_WzXHDGFC-UOSPCVpeuY6wg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:OtherEquityMethodInvesteesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_vKao-F6BEEmMPBIXaCDeJA">
        <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="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_BDq6n7Bo-UOX0DD3343LRA">
        <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_2023_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_JX8eSrTNDkGtTL28a52Cbw">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_tMg3pVrzcEGb1EXirB3r2Q">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_ES_8yv8-X02wcUssdjYvzg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SuzhouZhuoshengVentureInvestmentFundLlpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_duV2DGKTN06DflXRy2BCsw">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_vjP3pPKVjk6zwL540Y_M8A">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_hVqkPUIHRE-X8HNy3eGuAw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:ReCrimsonHoldingsLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_-JzrusLcBEyJGrRJrI9t7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:PanatiHoldingS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_sE9JlBIBf02BMadJX7ewbQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:MarangatuHoldingS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_2OinKKZJ7ESWsceFT_2Fkg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:LingangFrontierCsiNewEnergyInvestmentFundLpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_hJBCxK0cakqRAECJ3jDNVQ">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_1mNm8QQBCkm6WDlUh_uDCg">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_XxwEcXnbU0elNwkCBJD7YQ">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_3L-jlL8XikeSPsqiQACsmA">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_TY83BwNUZU-ZTDJiry-VLQ">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YV-0wOfos0G0S3tK8XV4Qg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_8_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_HqyayS63UUOuiW3f6jBVZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:LingangFrontierCsiNewEnergyInvestmentFundLpMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-08-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_giTyTHCmxEi7jHUphaDrVQ">
        <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_5cTg1Rm6SUCzwziTf4m_cg">
        <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_SuzhouZhuoshengVentureInvestmentFundLlpMember_Ow3TwyrHsE-4mFzS4-XUdA">
        <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_rH0cLwUtzEKdmU-0WJW00Q">
        <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_twzCWt7dwkaXYmT0SFdhGA">
        <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_-6DXDdIfbESVAsG1T-VOGQ">
        <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_PanatiHoldingS.a.Member_HObGbwA6rkKq9qNyMUCC8w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:PanatiHoldingS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_wDRW352b5kiHruoqG79bIg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:MarangatuHoldingS.aMember</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_mHPlZng1E0-xfWWEw6Cnlg">
        <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_eplsERuDtkmJzzrbkY9cPg">
        <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_RjxDW-MyJ0eHF_f_KVatHw">
        <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_kdB_HttlQkSD-mqa9_cOrQ">
        <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_6tihLq2cukSAwzsDUH4cQg">
        <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_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YuN8otQ-UUmQVOACshWqUQ">
        <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_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_NJR_95naqkGM-mDRVr87Hg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:PanatiHoldingS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="As_Of_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_J1nPo-TGwUy5bTFpncX2LQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:MarangatuHoldingS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="As_Of_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_PyIlF4rFRU6ixQwjQC9f9A">
        <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_8_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member_HnwAWgb92USUPLT-WPM1Lg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-08-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_AuahKICJqEO294v12yEA2g">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_NFQkSlwzQU6JE-FEOZW_fQ">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_YPqGg8zoSkKmx5MpxP3lQA">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_8zsla1VVkkKYgWgXmI1P_A">
        <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_Hk09aV1AYUu8Pqq55Q2KCg">
        <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_aI8OQZhGzEmCswGZCt6WfA">
        <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_HRchQ1DoU0WfFigDh2Yzmw">
        <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_tUdp7tVF7UeaMFuDgqODRQ">
        <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_Wk7DD-At306YTa8aWZjUjw">
        <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="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_IEhdEFbRLk6ps2Obz0PXKA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentLiabilitiesMember</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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_G1Ru-mexRUGQuXOp6Sy1sA">
        <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>2023-12-31</instant>
        </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_xpbimS3OeEq5hl1_tMytSg">
        <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_LD26BMWRiEa7ZbOjcf7W8Q">
        <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_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_tQJLpU8oT0ew6kXThcWNgw">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_OFdlqcT6n0a87_ppMDAVkg">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_vU9CW6nzk0ajNK46Gs5w1A">
        <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>2023-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_0Uc3q9OmZ0ynTP4Lq1OhWA">
        <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_FKpDUmgwb0qjp-_PqH_upA">
        <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_di-MGqik2ES4MeVXXg-c7A">
        <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_PAob01Ig0kOaLzsjKpJJ6w">
        <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_aZ6AFPK2NECVk1kGWEb_Yg">
        <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="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_-eG67TvEvk-tG_zgh9qhuA">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_MbBYQbz7AUi28RqcQGV-xA">
        <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_jVleGxNTaEaCqHVD0u9OeA">
        <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="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_VRSPuMRBSkSsClqZ8Eyiqg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_u3RxRVI0H0KvHxTn_PKCeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_Jc4jMl6YuUy0GqxcdT3gtQ">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_x93Rl_Rk5Ua3O9NiXkTBKQ">
        <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_h837DOEs-0OxiUcAZLhOBA">
        <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_pVv2KUsf_EaCaqwpl1UBIg">
        <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_2023_dei_LegalEntityAxis_csiq_SunmexRenovablesS.a.DeC.v.Member_us-gaap_DebtInstrumentAxis_csiq_LoanFacilityMember_QkCCSXmP-0m3KBXrOz7oEg">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_us-gaap_DebtInstrumentAxis_csiq_GreenBondsMember_u0GjDExkm0aLxt5GaFA_zA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:GreenBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_DebtInstrumentAxis_csiq_GreenBondsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_axZlLE3gKUCwZBX_Iick2Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:GreenBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_okNBXsarzESDm9kXSKoiEQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectBondsMember_ovDUzUF5qkmEfIgLd_YlBw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:NonRecourseProjectBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_CVoCoEsnhkC6IwcHtuCxIQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_us-gaap_DebtInstrumentAxis_csiq_GreenBondsMember_qhjx5VrD4kSXGHQnCNZXRg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:GreenBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_GreenBondsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Zo7E0rHuqkGjUQofu2R2_g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">csiq:GreenBondsMember</xbrldi:explicitMember>
                <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_2022_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_jVWbxUaeZUq7ZAFJM3HOqQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:RecurrentEnergyLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_7PI-qqgn1kS9IlzJTddYfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_9_1_2021_To_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_7g8VmQKD10aBzxq2SEwMRg">
        <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="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_WtEMom1VU0ybaJVNGpnOcw">
        <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:CsiSolarTechnologyXiningCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_b9kTsD5L20SDduKjf5Auvw">
        <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:CanadianSolarSunenergyJiaxingCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_bATzA2AvB0OoT2-X7O5GZA">
        <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:CanadianSolarSunenergyJiaxingCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_4C59bf2IMUOZzexUZTmhrw">
        <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:CanadianSolarSunenergyJiaxingCo.LtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_us-gaap_CreditFacilityAxis_csiq_UnsecuredCreditFacilityMember_7DwwkJ5v_Ui1ZFV3dE4NeA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:UnsecuredCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarTechnologyXiningCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_us-gaap_CreditFacilityAxis_csiq_SecuredCreditFacilityMember_JoyGSKg7t0qiDEYanX7Ciw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:SecuredCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarTechnologyXiningCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_IGhGO1P77ESNupYjYTGudQ">
        <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:CsiSolarTechnologyXiningCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_us-gaap_CreditFacilityAxis_csiq_UnsecuredCreditFacilityMember_4w1iYQwKHk6bxcO9fDuslQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:UnsecuredCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsSuqianCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_us-gaap_CreditFacilityAxis_csiq_SecuredCreditFacilityMember_drozSQ9cSUqHAtHA_OXiZQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:SecuredCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsSuqianCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_2lX6u_dO1ECFu2ZeMUvUAg">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectFinanceFacilityMember_YJC02rU4mEKqe9_O9ufXpQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:NonRecourseProjectFinanceFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:BrazilianSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectBondsMember_hFLs8lQAiEqH1k9pwi-egw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:NonRecourseProjectBondsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:BrazilianSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_oQTOORoImkarR8rvOi0s7g">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsYangzhouCoLtdMember_dQThxa_ee06k-9KzTqgHoA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsYangzhouCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_YKOdRPy7oky9nAOGxQJ8EA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiCellsSuqianCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2023_dei_LegalEntityAxis_csiq_Aurora01GkMember_VUqKQQJMRU-4j_WGN0QFPQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:Aurora01GkMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-10-31</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_F-a7Mqki00K48eGJ1cQX1A">
        <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:CanadianSolarNetherlandCooperativeUaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_us-gaap_CreditFacilityAxis_csiq_TermLoanFacilityTwoMember_IuTMt0Pxy0y4asFtqeg3gQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">csiq:TermLoanFacilityTwoMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarNetherlandCooperativeUaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_nPMUMkuggE-H7qQ6x97iTw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarNetherlandCooperativeUaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="As_Of_3_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_fhk0-37ZiE2mxtw2qQdC8Q">
        <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:CanadianSolarNetherlandCooperativeUaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche2LoanFacilityMember_wtGuDs-0_U2WWdGXhyMfZQ">
        <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_cAX3vRa5mkqHl0uIoSesNg">
        <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_V0xrEsypfU2Ncghqf-4qMw">
        <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_8i-7BNlxsk2_z7rFZeX0fw">
        <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_CanadianSolarSpainSociedadLimitadaMember_2M31FX89B0mP07p6WW8W2A">
        <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="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_SunmexRenovablesS.a.DeC.v.Member_us-gaap_DebtInstrumentAxis_csiq_LoanFacilityMember_kMjhAvAFhU-NPCficyfxOA">
        <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_X5qEZraBukWWZDk-E4I0qA">
        <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_NHfJgJqoyEeTAZE02kWDNQ">
        <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_2RdFhDhu80yScV5qB5-opQ">
        <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_YYZO6HJRkkmcQ3Tjv-bKEw">
        <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_12_31_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_rAdiZhMFzU-vrK6pRf9UJw">
        <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-12-31</instant>
        </period>
    </context>
    <context id="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_W8cXFnCrLUSskDihwt6gZA">
        <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_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Nc3y2mC1-kCStgx7enKmbg">
        <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_5CgaAnljNEi2pv_ZjWn98w">
        <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_lZR6gpJiBUqNALDH1kbRmg">
        <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_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_mzsFdWmVA0ehho4L7sa2eA">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_US_NuSjbowMM0CZlAtL879wZA">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_SG_MIhW0xDHRUGQjtX3ok8Iig">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_JP_CMmZqN-fGUeb8Q7oyWPMqg">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CN_P2szLiN-K0Oa3W68m5a06A">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CA_5wTrYiI8Zk60rNKOWAmovg">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_BR_F-9qFPYhE0-pc4ktmeAx0Q">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_YbWz9yFO6U63vMwWSeZChw">
        <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_Cun517e7r0mNxMampHfrNw">
        <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_4KBNX5JN10Oebg2jQULr0w">
        <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_Za9OCQw9aEWqDkmyY0Ssaw">
        <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__86cLK8ZMkGWCzNlyXIp6A">
        <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_dOPNbZ42Ske8sXmFSuAWbw">
        <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_2S2cZAub70ybmaUv8__33g">
        <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_HCfjZ5zgGEOem7ksX57ZmQ">
        <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_t78NLnj-LUSKMhJUhWl8Ag">
        <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_R1RJeoHBmUqGbj4SxzDhRA">
        <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_2HDvQRaTZkyYBoOZEEXCbQ">
        <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_Ba4AXI6Hv0ucnPuzA-RctA">
        <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_lz4Wo6xkNkmYSeVfRvgVeg">
        <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_C8kTw5pGDUKD5GLczCKF5Q">
        <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_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_bHo0HXx1D0uwA9lxh-JWVA">
        <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:RecurrentEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zinVFX3aokanfDZRgZkXQw">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qu1OMIJPIkuk-CFSjk6hnw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">csiq:EliminationsAndReconcilingItemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_EijStfG6KUGjlSxi6sTKww">
        <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:RecurrentEnergySegmentMember</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_hjI2PV1IrEShhHY3CZuoPQ">
        <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_zB9vTCyNQEmqlzOtiZjn1g">
        <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_RecurrentEnergySegmentMember_rzCETBtpCEC-C092Ogt9WA">
        <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:RecurrentEnergySegmentMember</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_kRfzJhOT60KDxqhzmODneA">
        <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_OlTRk41z-UmMX4uslYPZRQ">
        <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="As_Of_12_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_WFHGv7dq0EmPTFd1YRrF5A">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_hxfaEZwGw0-tO5STMbomCg">
        <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="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_C1FRS_eBOECAWeoJD417ug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_XQ9e1zvIqk2Bt6JdIq_bMA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.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_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_t-D6VDAKoEynnhoMyZr58A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hTa0aLkBrkmTjndU--ZlKQ">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nfjuJ-ne6keEtsyNgbR4Bg">
        <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_6pq9tWx1OU6K17Iyw6obuw">
        <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_Wr1FYni0tk6Fx0pLPLbCww">
        <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_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_2I3jOHmUmEmiCDffN7MR2Q">
        <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="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_B0sOlVpw50STUx9PBISUQg">
        <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_IAvlFUuH00KKZuwXmlH8CA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="Duration_7_1_2020_To_7_31_2020_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_zQysP7sf10uO6Pe_iWJl7w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarEmployeesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-07-31</endDate>
        </period>
    </context>
    <context id="Duration_7_1_2020_To_7_31_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_7DF6CjZRPkKmp86srDDe_w">
        <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-07-01</startDate>
            <endDate>2020-07-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_cfmg6Tw1Gkmw0fnKOuP0CQ">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_cHUvZIdoPkWTQHJlgnOESQ">
        <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_FriujmQWhk-aMmGVJAiKxw">
        <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="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_1kP2c3aT2Eio_d0_AjFRxg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_DsCOJW4RtkiFbD1im4-Khg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember</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_Uy050kVvI0akX6ztbcxXZg">
        <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_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_QGV9ahgsc0KlyxnGyij7zA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember</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__ov5GIt1OkCvBF3uklbrvQ">
        <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_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_JdFkQ9ASwEyf2JZmmBuj4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_jDHpMaygyES8fKLvs1qA3A">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_acFHZS_OoU66MU8FssBCEw">
        <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="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_c0YjJjRLT0Ox2I3zJJTv7g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForWarrantyInsuranceReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_kW6atqiP10yTYE7-3NFDMA">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_W-Yhr5JE9k2y2Wuqvia04A">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_-7puMFjF0UeoyTLKOB5HkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csiq:CsiSolarEmployeeIncentivePlan2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_LWmYNOXZikut3pvMJqZecg">
        <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="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_1L5LORyZ1USAZ1ZSt6ypmg">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA">
        <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_4HcbvFQfWUitoRHap-Un6Q">
        <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_Nz9nzr6XzUyFmY4HjV2vnQ">
        <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_yV13MQEAEUioqwRfrbel-g">
        <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="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_1gZwKsyZ3EaG0jinRQY_DA">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_JrebpY3Ng0GBDMmCn3hgvQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForWarrantyInsuranceReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_WFVK4PjiUkehmFo9yBl1zw">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BW2AAeR4KU6QskdgDlsvWA">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_yEE94TbUCU2nZBmasmgreg">
        <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_AllowanceForWarrantyInsuranceReceivableMember_pOre9Y4VL0WcNPsPmUbEbg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AllowanceForWarrantyInsuranceReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_48LFhpGB3k6ebscKyuVMEg">
        <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_jd0QyzdA50CZFkCUzpH9yw">
        <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="Duration_1_1_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:EntityAddressesAddressTypeAxis">dei:BusinessContactMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_z19N_66-b0GNb2uuD1FCAg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_uu3AUryx5kWUSPunxZnrUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_9GK8X_EqXEuN1Tbf6zPcJA">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-JIwAFK1sE-l7QWbJVZm0Q">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_Xfdf3ZJMwU6lRJ2EbRJaDA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_8tGw5yT0gECX0FdgPPnlFw">
        <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_k8qosnusTUKRgY6QCXEPDw">
        <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_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_YLrUcr9OskmJG0yrxpz0oQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember</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_a1pOMXEBlE6qtiIrhYgk3Q">
        <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_TGFcEY97TE-bl6CLoJeN5Q">
        <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_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_lAlFL7qZVk--eyObKSKxMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">csiq:AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_srt_RangeAxis_srt_MinimumMember_zURZGeg500WWXWJQKshRpw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BatteryStorageProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_srt_RangeAxis_srt_MaximumMember_g9Zu-n293k2RNI6Yi5rAPg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BatteryStorageProductsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsByEpcServicesMember_cNIepb4TTkKX9iNLnWqmPw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:SolarPowerProjectsByEpcServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_xDqoLAbqnESx6e5G-uTs0Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">csiq:BatteryStorageProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_yb_kL1iU1k-wrSNtM8seww">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_swoTaHoX6EGEzalUS79WRw">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_4PWKnuoV0kGiCMlVoEY7aA">
        <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_zQLdhKIFakixbge6xtWm9Q">
        <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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_CertainSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_CHaGigBP-EmqN1fJXdTItA">
        <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_1JqaHu5k_kC8qU53QaV6rg">
        <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_5y9-zb3uRk-OPKn7odHU-g">
        <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="As_Of_12_31_2023_us-gaap_PlanNameAxis_csiq_ShareIncentivePlan2006Member_Hj5NdY2cLEWj0UTbvnKNmQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csiq:ShareIncentivePlan2006Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PlanNameAxis_csiq_ShareIncentivePlan2006Member_uDKmQjZllECkBbMauLFtlg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csiq:ShareIncentivePlan2006Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_PlanNameAxis_csiq_ShareIncentivePlan2006Member_aQSNfZa9fk6fFh4vE8Ax3w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csiq:ShareIncentivePlan2006Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2020_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_wdTRMCsgTUKMc5VK7B_WEQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">csiq:CsiSolarCo.Ltd.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">csiq:CsiSolarEmployeeIncentivePlan2020Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_XFvq5O6dCkOYwjN9gqLP9A">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_V7tC4d5DXEK-dBeLKqN8AA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_IgpbAU-lsk23EMAxjJ_HlA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_qpVSMivIa0mhw_oK0dMhlQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:YanchengJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</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_CounterpartyNameAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Xn-nDz_qwESLHVXBXN43_Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">us-gaap:RelatedPartyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_Femt3TG9F0C0hlkbCbCc6A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_OHKPzzY1gUiS5qdbOmwDTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</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_RecurrentEnergySegmentMember_H47JQc1Mx0mXJ-WXemy37g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">csiq:RecurrentEnergySegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw">
        <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="Duration_6_9_2023_To_6_9_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_A7lHs4qezUy15tu1yj9jkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-09</startDate>
            <endDate>2023-06-09</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_BmJzR9eWYE-Iq-taiz8law">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CsiSolarCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_M6s1YAAR3kKFA7gGiV-J_A">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_uk4o6lKmj02ozxzK0NIeZA">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_1_31_2024_srt_ConsolidatedEntitiesAxis_csiq_RecurrentEnergyLlcMember_srt_CounterpartyNameAxis_csiq_BlackRockMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_JP7BuYKMjUOjFsmXO9zeKQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">csiq:RecurrentEnergyLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BlackRockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-01-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_csiq_DomesticAndStateTaxAuthorityMember_NEoo5pfZU0iL0Gd0IX3wbA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">csiq:DomesticAndStateTaxAuthorityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_RXqSE3aBZUWeroziSJM_Vw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_e8f8q252002Oe2m6EHdsAw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_EZTyzWkHMUKcmRQ0Lou2Bg">
        <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_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_zwVrSaUchUuhI2lWFeWjew">
        <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_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2020_To_4_30_2020_BsJ8sFNrzUOWhL7oL8shQQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-04-30</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_z84Xd7SXaUChpwj5Hlc8kQ">
        <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_HXuLyZ2gsEGoRT7Jeb7aww">
        <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_BpcVD74KVU2EtLP5wyOXdw">
        <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_ShbveCe6ZEWydSoLGHURoQ">
        <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_2_1_2024_To_2_29_2024_srt_LitigationCaseAxis_csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember_-CaVnWmnQkyRGKgKo6s4tg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:TenthAndEleventhAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-02-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarTwoMember_AkAG_jMUpE2ucQB4CtwQiQ">
        <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_2_1_2023_To_2_28_2023_srt_LitigationCaseAxis_csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember_skyJxd9QK0iQ82WszYi2Rw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:TenthAndEleventhAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_iyfwX_3N6EWKlPAwO_saPQ">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember__l7g0T_liUSXoMOtd6qHNQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:FourthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2022_To_9_30_2022_srt_LitigationCaseAxis_csiq_NinthAdministrativeReviewOfSolarOneMember_fxd3ftggRkm2WQfyGJt7Cw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:NinthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-09-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2022_To_9_1_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_BQcztLydUkaJeSUcbtoZOA">
        <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_YmlVGq_lzkGer9Zdcx9xxQ">
        <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_uG5SlgRCJEW02OHHvKL_EQ">
        <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_kCATClntzkuCy7-CFeGS4A">
        <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_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_3CFW47ounUeMsWfyd45nvQ">
        <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_KOuy-J1ps0qjj2hDe8kQ7Q">
        <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_qhX774MnukqIoaOqh6w9yQ">
        <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_Sm1KCi8jiUyEL0QqDXV9UQ">
        <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_FD4bAw49Uku-67u6a8uHyw">
        <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_lfxIHvS12EO8acPiljynRg">
        <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_SdA_5OylzUOkk-3trXIAOw">
        <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_IXHrrCsWnEeLYY95Y9ydzQ">
        <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_yXA-ayxWUEiTTjWBeLKEwA">
        <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_PxUdFumf9k-pizc28y3_9Q">
        <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_MHzyFRF_MUOHhrJgKhNZow">
        <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_D_nrzaV4fUmGZi11rL2kcw">
        <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_ixvQ4Q8TFECHwsJUwHx-ag">
        <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_5szvLrOszEetgJ6TcfXe2g">
        <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_O-McbgaYy0OK2DRThtIfiw">
        <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_sCDfNA_zlESeRYp7ejyFfw">
        <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_PfYz0yFd7UO7cdawl0af5A">
        <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_7_1_2023_To_7_31_2023_srt_LitigationCaseAxis_csiq_NinthAdministrativeReviewOfSolarOneMember_aA2F1Vd47kCP_OgUX76-Ww">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:NinthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2023-07-31</endDate>
        </period>
    </context>
    <context id="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_vM2Lm382lk6D4F3aweF9Pw">
        <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_Q8Rzd5gZVEObciQqjwCE5A">
        <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_VutT7k3FMUet_UXlb-i9Rg">
        <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_1_1_2022_To_12_31_2022_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_G0VhCxDLwUK9GRSY5bFNxg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">csiq:SixthAdministrativeReviewOfSolarOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_PZffFnR0Q0uC5XvQ2E8r3g">
        <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_89XR2Wp0S0OHX4lhawwhvA">
        <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_1RQCOAUCVkKiIAp6Da30dA">
        <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_RuoRRxQF70qeA1lF3M-B5g">
        <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_hukhFcXhDkCcgWiOxgHQvQ">
        <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_fMAuhT758EmMQd-wWfPI7w">
        <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_3qvD5LTXU0GhruP5UsITeA">
        <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_-KUZuvMyY0OIcJ8B7Vjqlg">
        <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_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_kPg-x5rcIUaT-agD-nmATg">
        <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_EckpAfuLFUCVKmVwLonw1g">
        <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_8DKp1TAD7kCC4CXW7MrVVw">
        <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_Sb2yRTyyz0WbYmi2bAwdpQ">
        <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_KGHFyhoxbUWAVoYDdolYdg">
        <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_3tfUf-3mtEmOpVSni7ayGg">
        <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_5bjvopJ-1kaQZedS48lUgA">
        <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_DwwoB_GK5Ea3DYk4s40iJA">
        <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_Z5MXXKLn0kydFbIL5W2GOw">
        <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_AUuJaAgpK0qW1mkmsVnVhg">
        <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_Sks3iFA59k2qPAMbjDGAhg">
        <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_Nbi0w7IM3UGjl2_nyZoxEA">
        <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_oo0O3SSRjkCKQ99nXyeoxw">
        <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_WdWpAqLWpEG6wSdz1CZzVQ">
        <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_Hx2NWKrpBk2J0cOeH6qlkQ">
        <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_uAufb-IwRUGsBhfSUPNKLw">
        <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_kgm7rOfsS0Cxz5V-BmWwTg">
        <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_eSKnaSta_EWT9gC26WDbjQ">
        <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_mPGwyYJ960uoI_aWd8xtpg">
        <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_OF5CM1u4b06EQxkSxkVnDg">
        <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_MBW8oUnAgUudnO5uHUqUKw">
        <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="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2ypg_nqbgkuBccdVNZrv1g">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_oxxmDWsae0qVjA64quepWw">
        <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_c6o6Jzf53Ues3B-5-gFjyA">
        <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="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw">
        <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="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_HAaF0DywSEGUfBguAedZKQ">
        <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_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_6j3nmY6eg0CD-l2XM_PD3g">
        <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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="Duration_8_1_2011_To_8_31_2011_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_-b0_7Og4p0i3el8lK66VwQ">
        <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_GebhO3giQkWjY431K4cWLA">
        <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_23TJRA-bn0aTAtz-hXQI6g">
        <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_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_4r8LjN8gh0mdDdCaJti1CA">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_aJMUd1ar7EeR1UJTZ3Znqg">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_gwt7c9wvUE-8pQxCf4BjTg">
        <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:CanadianSolarSolutionsIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_66j7qm548k6x0yhQ4Kpm7g">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_84lt1fOm5EO75wOn_i3fWA">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_4sjoN1pOZkyh5OWoUvS3DA">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_LVRyNcKfBUWHnzJ_1RyM3g">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_SNAiactADEezGDi7FeYBLg">
        <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>2023-01-01</startDate>
            <endDate>2023-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_IoVS33MTR0yey79d4zIfTg">
        <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_Lj1DHNZNJUe37NHNCSaj9A">
        <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_CfSKILHQtkS4vSuXDZqj-Q">
        <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_kqKDCCRqJE2ms8Dw9pKDsA">
        <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_dByBRGaHp0ubkdWUPV79Ww">
        <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_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_CDtH1lhr4k-mhN4OfyhiNw">
        <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_nK9N395Pf02XbsBGaXCtJw">
        <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_MvGMyDFyU0SWsVCWeLpBkg">
        <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_vq1uJMF8T0G-gRBEAW7CPQ">
        <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_JkY-JtQitEi8FKeg-k_J8w">
        <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_JQjRSTvtfU-Qph4urhmX4A">
        <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_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_4lo4lJHb_Umg3T132uPZzg">
        <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_Qt8WOogj00eO0UQngPnGdQ">
        <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="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherCurrentLiabilitiesMember_dbq9KowpK0Wk0UCteamtOw">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg">
        <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_GXc2CCDWnU293K5aBkD-YA">
        <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="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_6jX0Mt24JUait6k6xuOsRw">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Rvi-6Y7smUa3DJ3H04zHvQ">
        <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_waR_vcnWVU2usZfdbExWIg">
        <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="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_y_QdWoUCpUOBQZMYEXMJSA">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_3G8QcAHBmEyXhCLHWHtztw">
        <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:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_8hjJmi5StEaLy1zCxjLl5w">
        <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:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_aj9SPfulKU-CrWrdjVIx3g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_cABhXXIy_EO7NWdBVBwVtQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</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_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_A1sEXhgp2Eq5FRyEbBL6Yw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RetirementPlanSponsorLocationAxis">us-gaap:ForeignPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2022_To_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_9nkCy2Bu4UKWf8x0QTC0uA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:PanatiHoldingS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-09-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2022_To_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_2FqzqPVug0GzktQYtX_Qnw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:MarangatuHoldingS.aMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-09-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_0A_FTcQnvkyceg0AWEwFTA">
        <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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_puNThMPmG06ctuSpQS07Tg">
        <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__cdig0q_P0u8GJ7-WnMdUA">
        <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_8_1_2019_To_8_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member_IMVBOA3zXUGvZL_Btbl27w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">csiq:SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-08-01</startDate>
            <endDate>2019-08-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_TS9t0JMkrkKqR7Y0xMtsXw">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_LongTermDebtMember_9t8C_E-XzE-HtThmZeM1jg">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_Ohwy9cg9J0avE8H3x9SJwQ">
        <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_hE3L6nxy3EiJGqmy0zJabg">
        <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="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg">
        <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_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA">
        <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="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA">
        <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_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1mIJGj0-dUi9k9oQMKJNtQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_ceHEJ4VvfkqI8sALHoNsvQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:CanadianSolarInfrastructureFundIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2010_To_9_30_2010_AQ_xuP1PvUC--aAhUhwR-g">
        <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_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ryvoTcfNHUOsDJw-hXCk5Q">
        <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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YDotsNiXVU6SNlcaXMaXIA">
        <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_WPjYxh6bbEq_6RjQ7bNc1Q">
        <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_2024_To_1_31_2024_srt_ConsolidatedEntitiesAxis_csiq_RecurrentEnergyLlcMember_srt_CounterpartyNameAxis_csiq_BlackRockMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_lTuv_E6u7E-x21DkFE52ug">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">csiq:RecurrentEnergyLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">csiq:BlackRockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-01-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2020_e4l9AB3P7Ue0Md5J7y_79A">
        <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_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_eo_R8EAmhE-_cdVsanE2YQ">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_csiq_ShortTermNotePayableMember_Oxf8e0c5FUWCs58BHWcYfA">
        <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>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001375877</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <unit id="Unit_Standard_D_87kKI9PO70q8EVj9eVh9KA">
        <measure>csiq:D</measure>
    </unit>
    <unit id="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">
        <measure>iso4217:JPY</measure>
    </unit>
    <unit id="Unit_Standard_EUR_17HFMf2lRk6XTW8-h5eE6A">
        <measure>iso4217:EUR</measure>
    </unit>
    <unit id="Unit_Standard_BRL_qQhbsbkMjECqnYnobxloxg">
        <measure>iso4217:BRL</measure>
    </unit>
    <unit id="Unit_Standard_segment_uP6_O8BSvki0TrrpY9QbPQ">
        <measure>csiq:segment</measure>
    </unit>
    <unit id="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw">
        <measure>csiq:item</measure>
    </unit>
    <unit id="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_director_BaaAX3GvrUGwLmMpNrgmZA">
        <measure>csiq:director</measure>
    </unit>
    <unit id="Unit_Standard_Institution_k-1ftVqRb0S-PWM8uebl7w">
        <measure>csiq:Institution</measure>
    </unit>
    <unit id="Unit_Standard_tranche_ZRvaOf7SM0ajVRh4II2QSg">
        <measure>csiq:tranche</measure>
    </unit>
    <unit id="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">
        <measure>iso4217:CNY</measure>
    </unit>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      id="Hidden_z04TtT7HGUahuJbbIq1uag"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      id="Hidden_tCDJ_2ibJkap3UAdCFjk0w"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ"
      xsi:nil="true"/>
    <dei:EntityCentralIndexKey
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tc_eF_acMt8_Em6kv9dpYdtiw_2_1">0001375877</dei:EntityCentralIndexKey>
    <dei:DocumentFiscalYearFocus
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tc__zx6RMIriUqzDtEHH4gYSw_4_1">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tc_MtPpsdW430G-klzGekg11A_5_1">FY</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tc_IyYNdaM2KEOBUgtPSeyRKw_6_1">false</dei:AmendmentFlag>
    <us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      id="Hidden_lrgOrZsKjkGZpUABHgLYqQ">http://fasb.org/us-gaap/2023#PropertyPlantAndEquipmentNet</us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      id="Hidden_bNE9mbmziEWz66OVLgxeLg">http://fasb.org/us-gaap/2023#OtherLiabilitiesCurrent</us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      id="Hidden_oPoNohhCRUmSHPBwyJzjpQ">http://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent</us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      id="Hidden_TXRp51lhikqZqgbw_AExIA">http://fasb.org/srt/2023#AffiliatedEntityMember</us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration>
    <us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      id="Hidden_7WVts2Tc1k6W_UBIBlMfSg">http://fasb.org/srt/2023#AffiliatedEntityMember</us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrentRelatedPartyTypeExtensibleEnumeration>
    <us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      id="Hidden_Z8tRSHWEpE2cLLy0PG26fg">http://fasb.org/us-gaap/2023#RevenueFromContractWithCustomerIncludingAssessedTax</us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList>
    <us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      id="Hidden_v_yBeObO3Uatwy-ISSdhRQ">http://fasb.org/us-gaap/2023#RevenueFromContractWithCustomerIncludingAssessedTax</us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList>
    <us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Hidden_PLl2nmSvo0KiC2x6Zr2xsw">http://fasb.org/us-gaap/2023#RevenueFromContractWithCustomerIncludingAssessedTax</us-gaap:OperatingLeaseIncomeComprehensiveIncomeExtensibleList>
    <us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      id="Hidden_ZX4ffP3Aek6tCHKygIAEPQ">http://fasb.org/us-gaap/2023#PropertyPlantAndEquipmentNet</us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      id="Hidden_MNxLZp-y0EmbJ8LQI9L-mA">http://fasb.org/us-gaap/2023#OtherLiabilitiesCurrent</us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      id="Hidden_zwemnGSU9Umlx71I-WTdxg">http://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent</us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      id="Hidden_DV0EnETE_k6B9hwOD-MLjw">http://fasb.org/us-gaap/2023#OtherLiabilitiesCurrent</us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      id="Hidden_YdZatWwHLE-nl8BHqrfpoA">http://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent</us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList>
    <us-gaap:FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      id="Hidden_aFecZba9I0qz7Gedq7yDLw">http://fasb.org/us-gaap/2023#OtherLiabilitiesNoncurrent</us-gaap:FinanceLeaseLiabilityStatementOfFinancialPositionExtensibleList>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_cCDDc5ROAUyqavdO9PgTvg"
      id="Hidden__6LnPpsMv0awmaiJc_xCEA">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheTwoMember_uChkNmkoRUCt-TY64DPlsQ"
      decimals="2"
      id="Hidden_tDQJVYWuy0eLN4cJ3cx3jQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="INF"
      id="Hidden_j6emgWMhXkGAKgzStNt_bg"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">64506055</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="INF"
      id="Hidden_Dj7PV6Ocn06g-KwcQI91sg"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">66158741</us-gaap:CommonStockSharesOutstanding>
    <dei:DocumentType
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_8GRlzFkI_Uq-w7dGmsxgdg">20-F</dei:DocumentType>
    <dei:DocumentRegistrationStatement
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_POA59Nmav0ObfPhmZk8Rvw">false</dei:DocumentRegistrationStatement>
    <dei:DocumentAnnualReport
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_sC60HLeoFkKzjYIHQbyskw">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_BESCcsT59kGz5etLe5J-8w">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_0F-ZzmYkd0OVQLEFzounHg">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_S2mTBxSAMku4RCpKvQJGng">false</dei:DocumentTransitionReport>
    <dei:DocumentShellCompanyReport
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_b_jZTvN5r0WvryaYcCnlWw">false</dei:DocumentShellCompanyReport>
    <dei:EntityFileNumber
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_nrsiBAZ6TE6DjQd5u_JSIg">001-33107</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_WyBI4CNTQEeITVwv4zrm5g">CANADIAN SOLAR&#160;INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_L8cj4DwbX0WIvsYqPHNTzg">A6</dei:EntityIncorporationStateCountryCode>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_NessEeomuUS_ZahndCGGKw">545&#160;Speedvale Avenue West</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_agPTvohidk2IHsJJQQ_WkQ">Guelph, Ontario</dei:EntityAddressCityOrTown>
    <dei:EntityAddressCountry
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_r9P-CNRc5k-TBegAR08--A">CA</dei:EntityAddressCountry>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr__yFde_mr_UWeyvRdCgCRwQ">N1K&#160;1E6</dei:EntityAddressPostalZipCode>
    <dei:ContactPersonnelName
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA"
      id="Narr_22REpjbXeUm1W2vhZ28uwA">Huifeng Chang</dei:ContactPersonnelName>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA"
      id="Narr_1IQ1knMtZEKu9wPiQ_LH5Q">545&#160;Speedvale Avenue West</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA"
      id="Narr_4Cmnqy3JIkiZZB3YUqbqeQ">Guelph, Ontario</dei:EntityAddressCityOrTown>
    <dei:EntityAddressCountry
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA"
      id="Narr_wseflVqT6Ee1NwyHtxlalg">CA</dei:EntityAddressCountry>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA"
      id="Narr_obELBG2vPkeZeU3ewJUPGQ">N1K&#160;1E6</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA"
      id="Narr_NHsKd2SWyU6qVu4n9zTRHw">1 519</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_EntityAddressesAddressTypeAxis_dei_BusinessContactMember_PW95siHQOk6pAeMpOu3kFA"
      id="Narr_6y77FpOPaEuL0OycJZPNZQ">837 1881</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tc_al-53XHYyEmTtoRoL5soHg_2_0">Common shares with no par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tc_26EDU9RTOE2sH_Pdrtpn2Q_2_2">CSIQ</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_XaSdICurR0mQ2c3u63BmIw">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="INF"
      id="Narr_uCKr2lpAzUy_tA-ulL3qmw"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">66158741</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_eLYYt6RvHUWKmvVNu0GZDQ">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_WJIdYys7AEqRkmONq9qZdQ">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_4wvaYJqnskaECNEvi9VVbg">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_pMfwesCHJkqQaCykiLqs2A">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_HHMpfOEhX0uJ9-HyVYy3xQ">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntityEmergingGrowthCompany
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tc_5zsWoGOI1kaOiBhcZUmEFg_1_5">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_zm-23XopbUqgJ1Z_FupxYg">true</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_c1G0PpYDh0qLD0U7AM3Jdw">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:DocumentAccountingStandard
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_GaxidTHwQEyM4T508QVtEQ">U.S. GAAP</dei:DocumentAccountingStandard>
    <dei:EntityShellCompany
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_swpCSPQ8kUe2L96mzKYW1Q">false</dei:EntityShellCompany>
    <dei:AuditorFirmId
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_LFGNYPCJxUOx0tu9w4TLwA">1113</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_9Lr3eugdA0-EwcOxsIdRCQ">Deloitte Touche Tohmatsu Certified Public Accountants LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_00exdntLzUmQ154lyCuHMw">Shanghai, China</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_Bs7kdnRAd0icFz9HCfAwhw_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">981434000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_e5jptfdXiUmf2-cdSAFp2w_7_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1938689000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_eft8CtpWeEy_ddyV77n37A_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">978116000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_vc3_tsw1i0G4OUe-GAWg2w_8_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">999933000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_sJAO3Vf7XUiWKJKq72ieoA_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">970950000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_dM04Jcp5MEOQTSVqwVl9pA_9_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">904943000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_NFsq7mXKU0W4SxuHAfsmfg_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">57770000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_YEU65azcxUikcuaZsmrrOw_10_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">101435000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_M8SCuvwdX0yIO_09T0ld_g"
      decimals="-3"
      id="Tc_w2z1Q6rF0EqTb0e2Sgutuw_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">48614000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="As_Of_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_BFgOCPFA00-ZkpkVA9IU5A"
      decimals="-3"
      id="Tc_SZHTppufHkuewXLLejeSVQ_11_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">40582000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_xdF8oT6jOEm50BLRTgwvmw_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1524095000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_O0gXEkERWE2p4eSJgKifsw_12_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1179641000</us-gaap:InventoryNet>
    <us-gaap:ValueAddedTaxReceivableCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_AQ-hG0RjPU2ZhOZlTpkKJA_13_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">158773000</us-gaap:ValueAddedTaxReceivableCurrent>
    <us-gaap:ValueAddedTaxReceivableCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_YzM5oLv57UqI1z6lKAtlXg_13_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">162737000</us-gaap:ValueAddedTaxReceivableCurrent>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_5Mwly_siLUCA2TRp1siWyA_14_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">253484000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc__OASyL1z0EuKWH5sTtho-w_14_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">193818000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:DerivativeAssetsCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_Opg6OfFUzESfkXchmqgrKA_15_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17516000</us-gaap:DerivativeAssetsCurrent>
    <us-gaap:DerivativeAssetsCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_vlqBF6Kj7k-ox__gZAKiFw_15_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9282000</us-gaap:DerivativeAssetsCurrent>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_uskuh_LKMkKv6m_E8pl5jA_16_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">385964000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_30DSyg8t3E6m1i4Qec2bdw_16_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">280793000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_RIkO5S-AhEeWuZfbjzHNwQ_17_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">267941000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_zasL6IankUSWmcVdn8-Otg_17_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">283600000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_Y6UliZ898keLfDj-eptsmA_18_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5644657000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_Zv8gNNenhU6zoidEVEP_lg_18_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6095453000</us-gaap:AssetsCurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_9U7edsRoREOnpLxm6Po8Cw_19_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9953000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_1r9JoIDCvUyzIQcTUfT5rg_19_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7810000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc__XhtD2jHzEuipfUfFacAMg_20_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1826643000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_HDL2EppI4EK4idei9Gak5g_20_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3088442000</us-gaap:PropertyPlantAndEquipmentNet>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_PlJQxmgDm0ilEch3dFGD-g_21_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">364816000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_BZuZ_xjit0eIOgyQNxRERA_21_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">951513000</csiq:SolarPowerSystems>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_7JkJtdmE_E6FJR98viRC9Q_22_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">229226000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_Ptpr7ncshEGovBQl-c8UnQ_22_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">263458000</us-gaap:DeferredIncomeTaxAssetsNet>
    <csiq:AdvancesOnInventoryPurchasesNonCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_FAP2A4lwakyFgGJWBw4-9A_23_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">65352000</csiq:AdvancesOnInventoryPurchasesNonCurrent>
    <csiq:AdvancesOnInventoryPurchasesNonCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_-DMDb2pPC0KVjQEa24Q2SA_23_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">132218000</csiq:AdvancesOnInventoryPurchasesNonCurrent>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_Ivrf_xEBAkmMSq8o_3htKA_24_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">115784000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_KjU_j8RbFE6Ed6VuJeQXDA_24_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">236928000</us-gaap:EquityMethodInvestments>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_k3I2AoWh6UO2U7CPD04CWQ_25_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17530000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_fPW3Rl__cke1P0-PosZ7Mg_25_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">19727000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_0m9bEFWaE0a16qR2nVOIzw_26_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">438529000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_5Wi6dkFbPkaJGbtiHwZV2Q_26_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">576793000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_n5yKdUVXg0mqa1ChaoCKiA_27_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">103600000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_sHocX7gjtUSo8Fn6tHRH4A_27_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">237007000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_jzby5wZ1TEeIOpQCnrvvtQ_28_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">33489000</us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrent>
    <us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_DChqDAm4eUCMQx_nTY6cSQ_28_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">32313000</us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_GWlYhSpYD0Wjvn8uWD0IdA_29_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">187549000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_HiUKhx_sJ0exPJ6pOyt90A_29_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">254098000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_eyLhCGMztUWuoJpXhjouhA_30_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9037128000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_10CFHhHyW0ORv_IWZVYuxw_30_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11895760000</us-gaap:Assets>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_MCfN8aqiAkm6fuMNMToA0Q_34_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1443816000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_6wMkebzNikCGnErBFT1Y6w_34_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1805198000</us-gaap:ShortTermBorrowings>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_L6o-kjdhT0uq9g2NZ4nkvA_35_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">805300000</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableTradeCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_476f1jOeaEaKXmIfQXzwFA_35_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">813677000</us-gaap:AccountsPayableTradeCurrent>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_l3VZjYigv0-kC8I1CryfaQ_36_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1493399000</csiq:ShortTermNotesPayable>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_0gsyLOcEzUypi25z-W9rUw_36_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">878285000</csiq:ShortTermNotesPayable>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_M8SCuvwdX0yIO_09T0ld_g"
      decimals="-3"
      id="Tc_zUlgko2dzUGlmc9lAbb4Gg_37_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">89000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_BFgOCPFA00-ZkpkVA9IU5A"
      decimals="-3"
      id="Tc_5zGLxVogK02mr-GgU51SJA_37_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">511000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:AccountsPayableOtherCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_MyDYgi3vAEivZkPOJlTXxw_38_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">853040000</us-gaap:AccountsPayableOtherCurrent>
    <us-gaap:AccountsPayableOtherCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_2U8SWR_nW0SfRHW3JivhnA_38_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1359679000</us-gaap:AccountsPayableOtherCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_dL_2p26fpUaL6TfQ6fq26g_39_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">334943000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_8B6Yo3T7JkWyCflqkZAQuA_39_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">392308000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_5H9N75JQLE-SLkFX02UyjA_40_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">25359000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_XGgJrwc-j0Ki4-UTgrPpfg_40_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6702000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_rraGSnCZw0SP2SsNBO3oPw_41_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9810000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_RMvuwjZ1akKYJSeM-1QUEw_41_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">20204000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_NonrelatedPartyMember_0h-PgT-Lg0uWZZeFBAeWrQ"
      decimals="-3"
      id="Tc_6rfI_foGhEq9SJl_eAeHEA_42_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">293012000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_NonrelatedPartyMember_B1s0DcswmkmkLCgkYRES3A"
      decimals="-3"
      id="Tc_aY8DgtQAREaewfKBmoxJEg_42_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">587827000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_4qz3BMSjhUO2kHVejL3fVA_43_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5258768000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_VaO1HH0ShUePL1PluX-FQA_43_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5864391000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_2CSwpEgaxkmXH_9Q41Y__A_44_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">813406000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_sYIsMxOM0EeAPEmwrtqZbA_44_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1265965000</us-gaap:LongTermNotesAndLoans>
    <csiq:GreenBondsAndConvertibleDebtNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_7b-Ju_w67kK8wVOmdzcU7Q_45_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">257615000</csiq:GreenBondsAndConvertibleDebtNoncurrent>
    <csiq:GreenBondsAndConvertibleDebtNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_bn9CfqmOhkWhZj6ZC5ynjQ_45_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">389033000</csiq:GreenBondsAndConvertibleDebtNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_0p174N76oUuhZkjvKpee4w_46_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5730000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_n6ziqMOh7EK8gJvkY7iuRQ_46_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5701000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_YdFsAoWkr0WRKf1WtPTYdw_47_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">66630000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_qAfiYLgYpEuRlNH6k9X19g_47_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">82828000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_pThpIs6rsE6OUTCO7WlJFw_48_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">25714000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_F7irSVK_zE-j_53beW7eJA_48_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">116846000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_7i51TfpvN0q47O_G5uEX4A_49_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">302571000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_rsWAS7-O_0StfVbh7KDrLw_49_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">465752000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_vS6SEV5OJkWGVIhA8mPvZQ_50_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6730434000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_9bdfTkNWdk6OBZwMmjBUGw_50_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8190516000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="INF"
      id="Narr_HciDX9EPp0iDRTo0kNwbIw"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="INF"
      id="Narr_SxF6O4C_QEWdkBgc9rpiNA"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="INF"
      id="Narr_IJn3RUu1nke1S1pBLeNgHw"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">64506055</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="INF"
      id="Narr_6jLDzNveBEuz9PVuYesNzw"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">64506055</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="INF"
      id="Narr_CBmW_MztH0i6h_W1ifX1kg"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">66158741</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="INF"
      id="Narr_-vN-mi6yjUi0xNVYVxMtWA"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">66158741</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_oevOSV-PP0aWShv2iERbjQ_53_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">835543000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_N17YK_9i_U-RiaVVjcCNlQ_53_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">835543000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_8vxbtE1gnEa6VGOaioBZTQ_54_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1127000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_OR2M9hFhIU-LnTNX0lDqXw_54_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">292737000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_ztQt2_nJyUGjr1LDXoF4sw_55_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1275520000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_EgT9rn7w5UqtFVG-tO7Nuw_55_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1549707000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_GxQQJxFBIEi-0KUI2MXepw_56_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-170551000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_dQXXnYy5KUmkxrurK0WdYg_56_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-118744000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_z21e64-RrUWec7Knn2T2KQ_57_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1941639000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_EI31DWz8xUGQPW8JLSVxPg_57_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2559243000</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_7dPVePTbPU-AOIbHTtG96g_58_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">365055000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_pRs9HIorj0eDY26mcNp0SQ_58_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1146001000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_R1a0p5X9lkGLlig9rhd0nw_59_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2306694000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_Xu9dqbGjZEecdMjnFOnvng_59_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3705244000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_dzzprRoZCkOKjDBmF2ab6A_60_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9037128000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_NxDzI6jaXkWjGq4TlzHTiw_60_5"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11895760000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_OwC8zcB1f0K42KjjceES1A_4_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5277169000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_robYoDLCCECoUAnq3V5QbA_4_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7468610000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_StBl-NsyS0O3HZFfxqQYNg_4_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7613626000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_07JdhzOmc0y97HX1ZvxJ0A_5_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4367857000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_2vsgd6WLOEqZtqIJjhl8sw_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6205474000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_gQoVaexVgkiNQARTRSuA3g_5_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6333643000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_UbMTCOBLq0CJvywqfIgTUw_6_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">909312000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_UpvzoBwjKU2aHLuzDdpz7A_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1263136000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_Qqx1YPJlNEqHYgUfkIM-EA_6_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1279983000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_Uw-NygjNqE-AD3TKR52INA_8_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">398650000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_GW6BgqYgJESDcpyFlbf12A_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">558926000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_59anxOt3vEK1814Xccl1QQ_8_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">369670000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_sxC07WW2qESORQtBGOocVg_9_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">308942000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_bfA_joVb-UaSGuWZ2TraAg_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">342129000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_51LvpQvJBka5qdv-zlhoYA_9_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">440488000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_c-9gfG94b0mhK3K8EReIvQ_10_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">58407000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_zb7UeNrW-0-vu2jmNmaPSA_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">69822000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_uIDeWSwxcE-xcXM3PDIB5w_10_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">100844000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_Nc6njCiKAE-A9NxoLELrWg_11_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">47068000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_6c1wYRLXhkyVxn0oFHa2pQ_11_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">63802000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_0tWa5PonS0uCcfM9iGjfGA_11_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">84339000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_SGwPrXkGDEatwPDcglM1Mw_12_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">718931000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_tzoBBVaDuUS4D_DszlVRpw_12_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">907075000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_0UgkWrSRHkKVdXXwV0k9IQ_12_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">826663000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_LyfwOt-OYUS9fZR637DsaQ_13_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">190381000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_9KN66Tj9ikaxtfUvB50h2w_13_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">356061000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_bSLj46FR2EGqHOUhrvyCfg_13_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">453320000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_IRu3drps5k25gvN4sEcJOQ_15_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">58153000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_uAzDVcL5dEiphfUNVmi7xw_15_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">74266000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_lpcfE7yq8Emd8eCowD7KPw_15_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">114099000</us-gaap:InterestExpense>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_weteJ0cBHkezWG5IBNNXVw_16_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11051000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_PK7zDBT8iEuauoGGcMV5SA_16_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">40615000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_tICnW0VraUWNCE_G440qGA_16_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">51621000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_xVmQVS56-0-r5QipTbXq6Q_17_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">23785000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_TQf_pWfBBUKj0PavdDA6ZQ_17_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-44489000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_QGKbcsc5TEqNKrWT_K7cXQ_17_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-27504000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_r7VQxZiimk6DPJBXFF6fxw_18_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-47234000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_hcdBqiAhCEGnVlb98LsgxQ_18_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">77689000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_HXcn6SE6YE-GHhwcLcorAw_18_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">30555000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_Bnr5J1j560SeiCmsX4hWbQ_19_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">18634000</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_yq_cyJeE7EW0NRkvsmkfDg_19_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">858000</us-gaap:GainLossOnInvestments>
    <us-gaap:GainLossOnInvestments
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_dXUCTra1vkWeCFH2Y2rONw_19_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14632000</us-gaap:GainLossOnInvestments>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_ZS3RXU7WIUmSwyr1lLhMUg_20_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-51917000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_9YO0h7doK0CH4VtKjMsCEA_20_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">407000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_ox-kzGudtUy9OjPaZyzEoA_20_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-44795000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_5wD169tYt0mUQeNS0BgR0g_21_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">138464000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_2G0yqHRJgUmielq2R1mK_Q_21_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">356468000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_j6l3rPcL9EaB21uMsG3xSg_21_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">408525000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_x3xG4R76Qk6K9vuq07CPbQ_22_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">35844000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_qBrK1mVj1Uy9Rmp7SCEnVQ_22_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">73353000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_LPK_wTpuu02uNHO_fk9nBA_22_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">59501000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_lOSU1Zh85kuWGztE2NdQyg_23_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7256000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_IOfxlBeSqk-1JUYj9A8m5A_23_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15440000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_3JXW8eD0zUS-liKmo8XgMA_23_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14610000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_XoZvlGbARUe9ta61eeoVSw_24_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">109876000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_dCAglyokckOha3ZFuSQfOQ_24_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">298555000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_bV_utAbjlk-86iMkpG6oRg_24_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">363634000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_S2ICO5S_iEyT2Lsf7VmASQ_25_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14628000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_g5DxYjNxPU-Kv3gdYbiB0g_25_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">58587000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_qtKQ9_OdAk2PslGMllD3MA_25_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">89447000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_zy4p2J3gKUO4Nc78HE4xGA_26_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">95248000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_rs1YgYYVD0mMW14lcT8AVA_26_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">239968000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_ejRhHWTefEup3MatuO2hNw_26_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">274187000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="2"
      id="Tc_v3nR9DiHyEGXLBUCH6geag_27_3"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">1.55</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="2"
      id="Tc_v18P-td16kmSDqgzLFNiGQ_27_6"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">3.73</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Tc_7XIM0Y0ayUe_HjaRyNWsLw_27_9"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">4.19</us-gaap:EarningsPerShareBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="0"
      id="Tc_Xz4jy8lXBECVYpQHEkyQnA_28_3"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">61614391</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="0"
      id="Tc_yNmKMa0E-EOBOQcTDJvdIw_28_6"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">64324558</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="0"
      id="Tc_Bo2zVoYrnEykl2IHNIg69Q_28_9"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">65375084</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="2"
      id="Tc_bAn9aX-yeUurcGy8EQCYFg_29_3"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">1.46</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="2"
      id="Tc_kl7mCzcWrEeiMY6UB6IM6Q_29_6"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">3.44</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Tc__DlXpRzo0EOwTGpVUIWn6w_29_9"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">3.87</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="0"
      id="Tc_nzVafLmxNkuMrjO_BZARkg_30_3"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">68872102</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="0"
      id="Tc_nQygUR8ndEeaynLVre7Wzw_30_6"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">71183135</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="0"
      id="Tc_CPo2YsgZREugC7D5l4mYFw_30_9"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">72194006</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_8nflfSqfD0O9NxrGrw_7UA_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">109876000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_h8S5fTsF4ka9MA82qFRq1w_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">298555000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_Q8iLwT0qNECO_R1mg16bQA_4_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">363634000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_MqWsg7U0xUymtCFllb-Fdw_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-26296000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_Pj1ZmqbjY0GQrTjy8wNaLw_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-150127000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_1BeZAYupQkytM9QMYT2WrA_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8141000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_3ceOXxY7nEOtofeTCYltwg_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">904000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_105DlN1FDEWc5iMczkTdSA_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-3487000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_jmRFnFa4DE6tDe08vk9QOA_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">59000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_Kqt-QcJKzE-UichafEEh6A_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">716000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax>
    <csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_0rnveYNOFkWtd7Re5JqaVA_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1124000</csiq:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesInterestRateSwapNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_uHY-ugZHnECs4ACvnOFnFQ_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3754000</us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_vPrb92XxfEabdGK2-8jAZQ_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11264000</us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_7G17M72V902PAY9hqf5y3Q_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">83639000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_hMdi1hRwT0mMpVvicpMX5A_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">153802000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_JR623FKqTUCnpGJ4_Aeauw_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">378428000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_pEBBY5ubPEqiojkANV4eVA_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10296000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_RHX7D_y40kShMxdV5J5yhw_11_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">34345000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_AsU-CwWdcEqWVBc8NVERWw_11_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">90829000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_1wXbcezzvk-4GBuM0uDCrw_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">73343000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_btfxd-lU0kKFAqZkbgjAQA_12_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">119457000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_CDvUV4CVXkCa3o64u9bCPQ_12_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">287599000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Wr1FYni0tk6Fx0pLPLbCww"
      decimals="INF"
      id="Tc_pjo3gH2Sg0-c-lRIO5rpyA_7_2"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">59820384</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Wr1FYni0tk6Fx0pLPLbCww"
      decimals="-3"
      id="Tc_WWwyUFZP7EmQKuQgYglY7Q_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">687033000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_N8sNhAoK9EWuCgXEeFOGZQ"
      decimals="-3"
      id="Tc_9kkPZhKRs0ybiX1343skXA_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-28236000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_D71GxTdfmEqVsDXYlZTY4Q"
      decimals="-3"
      id="Tc_03Rb6P3440i9jMf_ylSETA_7_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">940304000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_gMrXdq2OkUa6Z0VHvlQ8Dw"
      decimals="-3"
      id="Tc_FUDb9LuMikqzI1Qjvvhz4A_7_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-28679000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_jqv0NgGt9UGqU-i1oQGWHg"
      decimals="-3"
      id="Tc_jlop2NLZX0iaNHPRDEipeQ_7_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1570422000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_U7ThNtRpQEiR9XT0PeQeAA"
      decimals="-3"
      id="Tc_E3KjLZV4yUurEUTrmGGzmQ_7_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">322363000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2020_e4l9AB3P7Ue0Md5J7y_79A"
      decimals="-3"
      id="Tc_URqsUZFF5k2dTslPltoHxw_7_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1892785000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_65MNyzb-kUKwcInEYII_Sg"
      decimals="-3"
      id="Tc_nqMOCtgwTUuj6JCSg822yg_8_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">95248000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_Nz9nzr6XzUyFmY4HjV2vnQ"
      decimals="-3"
      id="Tc_i2zD4XGdVkK2tw1NhMP3RQ_8_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">95248000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_J623DVxLCkmTkxgIfR9jEQ"
      decimals="-3"
      id="Tc_lWxot8v0pUWit7PpY1MVjg_8_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14628000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_IP-74ntCnUS5x8wtTMxMUQ_8_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">109876000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Pfw7VPwj_Ua3M8gS0GbM1A"
      decimals="-3"
      id="Tc_t4P4-7lQAkunv_XK0RjAAA_9_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-21964000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_Nz9nzr6XzUyFmY4HjV2vnQ"
      decimals="-3"
      id="Tc_58Hqy1N9BUup_i-GoZvUEA_9_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-21964000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_J623DVxLCkmTkxgIfR9jEQ"
      decimals="-3"
      id="Tc_m0lQ94fJwEOz2MvHZSPwcw_9_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-4332000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_PE5kmwiuH0W3Q5_RqUCCCw_9_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-26296000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_J623DVxLCkmTkxgIfR9jEQ"
      decimals="-3"
      id="Tc_lWe-HPizYki09EocxyHM4Q_10_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10719000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_T-B7vnADJU-avJSlkpA9zw_10_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10719000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_yV13MQEAEUioqwRfrbel-g"
      decimals="-3"
      id="Tc_zxosD7KVzEe_DpBNHyCl0Q_11_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8808000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_Nz9nzr6XzUyFmY4HjV2vnQ"
      decimals="-3"
      id="Tc_sirAAda5ukCJgar6hAr_HQ_11_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8808000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_QZ9r3nwOD0mW_FMOvqkunw_11_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8808000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_yyIOdaaHoU23g3A59pxXBQ"
      decimals="INF"
      id="Tc_YnxQYQ2-PUGP_XF-x2KWfw_12_2"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">562376</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_yyIOdaaHoU23g3A59pxXBQ"
      decimals="INF"
      id="Tc_eA9GcXPZM02kcpVzn3PhUg_13_2"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">3639918</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_yyIOdaaHoU23g3A59pxXBQ"
      decimals="-3"
      id="Tc_ueAlqwHCo0mad7tql5w-mg_13_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">148510000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_Nz9nzr6XzUyFmY4HjV2vnQ"
      decimals="-3"
      id="Tc_pUA9QqkY0ESliEWNhB70Gw_13_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">148510000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_eLgSvhb2bkelXTTz967iXA_13_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">148510000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_J623DVxLCkmTkxgIfR9jEQ"
      decimals="-3"
      id="Tc_dM-6OMWtbEyJcF5yj9MEZQ_14_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10003000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_EW0wgEGS-UOVcJ67rCaMPQ_14_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10003000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_J623DVxLCkmTkxgIfR9jEQ"
      decimals="-3"
      id="Tc_f-6467AwM0K1qqYbN3vH9w_15_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-6588000</us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee>
    <us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_qQ96JP6XN0GBrIsQARuc1w_15_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-6588000</us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Pfw7VPwj_Ua3M8gS0GbM1A"
      decimals="-3"
      id="Tc_7GoXlbR42E2GLnLWo1serg_16_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">59000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_Nz9nzr6XzUyFmY4HjV2vnQ"
      decimals="-3"
      id="Tc_dx5OpvKOR06UsXtTuCDYmw_16_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">59000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_U9uBMW_-HEKRAmEDmyatcQ_16_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">59000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_6pq9tWx1OU6K17Iyw6obuw"
      decimals="INF"
      id="Tc_I17CCrwBMECwyPa1pYihrw_17_2"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">64022678</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_6pq9tWx1OU6K17Iyw6obuw"
      decimals="-3"
      id="Tc_i-KiatHqbE2wqSXNIHOMSw_17_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">835543000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_jkGkLsMewE2g2QVZd_2ugA"
      decimals="-3"
      id="Tc_j-S8afuP0UKdO1d0DrVqnw_17_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-19428000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_3m-v0EagwUWVRnv2zzDPMQ"
      decimals="-3"
      id="Tc_sW_Y72vC40WSQcUrzkeV7g_17_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1035552000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_8AM4oM-bB0SF7uXmH2YABw"
      decimals="-3"
      id="Tc_DhwsjtF9lUiYP0-XiJqO7g_17_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-50584000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_6xsT4e2Gjkab78BvHlOucw"
      decimals="-3"
      id="Tc_UsE6DJMDTUatlRopD9r-aQ_17_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1801083000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_XTi0TejTTkCB-UXxqTe20A"
      decimals="-3"
      id="Tc_JUPMk-DbP0iIJ_xVv7A_uA_17_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">325355000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ"
      decimals="-3"
      id="Tc_xq-vxoaBtEeRSjO0AT6lxA_17_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2126438000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_ofOWvk4goUqs6WPvch2V2A"
      decimals="-3"
      id="Tc_TzFgledvn0yXvoqtLgvHhQ_18_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">239968000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA"
      decimals="-3"
      id="Tc_2blk2gDHUk-SBZlWcWvL1w_18_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">239968000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Re-yMV43ZU29itwBDNzfoQ"
      decimals="-3"
      id="Tc_sJmHZR24sU2De1P6H4bgfA_18_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">58587000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_ojKGOrOA2Eu00ksmhz9IZQ_18_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">298555000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ple6wfJcbEitB5Ka5Cl-qA"
      decimals="-3"
      id="Tc_-wJFtzIUiUGxyVNaN-2u7g_19_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-125885000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA"
      decimals="-3"
      id="Tc_Zvm-rNoHUEy9ALYvUQ56KA_19_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-125885000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Re-yMV43ZU29itwBDNzfoQ"
      decimals="-3"
      id="Tc_v1lfvzURZU2hY879OKmfFw_19_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-24242000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_0A27ms-no0uB1Fp3MN0rPA_19_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-150127000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_4HcbvFQfWUitoRHap-Un6Q"
      decimals="-3"
      id="Tc_cEO6kVKNIEqw1g2Rm-iXZg_20_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9370000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA"
      decimals="-3"
      id="Tc_1HAvknW9h0adw6N2Glgt_g_20_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9370000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_0dmN1wC2w0mbXI2yVkcSXQ_20_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9370000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_90ooRo4vKUaaEtqKMW6dYw"
      decimals="INF"
      id="Tc_xEtpcKgBekK5Idj56JB7rw_21_2"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">483377</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Re-yMV43ZU29itwBDNzfoQ"
      decimals="-3"
      id="Tc_XU-ZMI9_n06wk9YkNuQPwg_22_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2529000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_ijXSSC9nyEegvQH915LhcA_22_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2529000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_4HcbvFQfWUitoRHap-Un6Q"
      decimals="-3"
      id="Tc_HiUPKgHGuU-0k8t-hEfdPg_23_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11185000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ple6wfJcbEitB5Ka5Cl-qA"
      decimals="-3"
      id="Tc_RCc1KFJD9Uur5rmspReP_w_23_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">544000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA"
      decimals="-3"
      id="Tc_rRC8nmL87UixJ6zQu9NoDw_23_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11729000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Re-yMV43ZU29itwBDNzfoQ"
      decimals="-3"
      id="Tc_Zu0k5uoRnEmh87tuzoQmkw_23_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4094000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_jKtY0DCkoUymJZeT7kRiKg_23_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15823000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_Re-yMV43ZU29itwBDNzfoQ"
      decimals="-3"
      id="Tc_3DwK4AHPB0CezjQPnk_q8w_24_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1268000</us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee>
    <us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_vju_WrmnpUS_hDfRYCV2Lg_24_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1268000</us-gaap:GainLossOnSaleOfStockInSubsidiaryOrEquityMethodInvestee>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ple6wfJcbEitB5Ka5Cl-qA"
      decimals="-3"
      id="Tc_zm9DDagNd0ma8SVN_iX6IQ_25_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">904000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA"
      decimals="-3"
      id="Tc_XGEc-mu3IkWX0u89Y-y7ng_25_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">904000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_N0sxZ5ylF0KNZPprAJL3yw_25_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">904000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ple6wfJcbEitB5Ka5Cl-qA"
      decimals="-3"
      id="Tc_ejLMDR9kVkyzbATu2vOTXQ_26_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">716000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA"
      decimals="-3"
      id="Tc_kg8r5Z8h7E67cuBMnvKwRw_26_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">716000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_fOF5U7KSJkugHFw_zPnwlA_26_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">716000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_ple6wfJcbEitB5Ka5Cl-qA"
      decimals="-3"
      id="Tc_5PPe8z-yTkiyDW1Mu4fOLA_27_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3754000</us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_aWNbP03K0UybpKvKCfaOIA"
      decimals="-3"
      id="Tc_NLISt9fjNEW0NnF_1bJCtQ_27_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3754000</us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_gEfAKtOkrkqp4dDEHUDyiA_27_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3754000</us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nfjuJ-ne6keEtsyNgbR4Bg"
      decimals="INF"
      id="Tc_gYVkvWrQaEaz_Krs3G9bNw_28_2"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">64506055</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_nfjuJ-ne6keEtsyNgbR4Bg"
      decimals="-3"
      id="Tc_bQNq6L67iEKk1CohvGjnGQ_28_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">835543000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_y1RBQQ7YeUqbRymv8TueQw"
      decimals="-3"
      id="Tc_z0LMOWM12ka_UNf58L7WMA_28_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1127000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_7jZlWkmE00yrQkmbH1b0tw"
      decimals="-3"
      id="Tc_lVqhX6I_M0qmd9LdncXELg_28_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1275520000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_rRBu-kgVt0WY21K0oo2jVw"
      decimals="-3"
      id="Tc_RHhSUKKGJ0q6RzUIhPY6oA_28_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-170551000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_EsaJlPCRokKRAoKmGxvrkg"
      decimals="-3"
      id="Tc_eEPAMI-1hEmgANML081ktQ_28_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1941639000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_ukS6uCYet0mQ2Qi5QNgu8Q"
      decimals="-3"
      id="Tc_XKCGnuWsqkuNnvtJeulqHw_28_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">365055000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_b6dkVOa03E2tDxKuaulO9A_28_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2306694000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_IPhDe1eMzU-9u4wY8YCluQ"
      decimals="-3"
      id="Tc__zl6trzuaEGDbAsbHOYQmw_29_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">274187000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A"
      decimals="-3"
      id="Tc_A9dq5swMuU-OM_e07cDlUQ_29_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">274187000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA"
      decimals="-3"
      id="Tc_KseNrLc6BUWoh_5Adit4zA_29_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">89447000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_VXG4FJ1ZBEepqEyzDgFUZw_29_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">363634000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RzOcr5YVNUaFouhgn_rs2w"
      decimals="-3"
      id="Tc_UKVrMqWB30azWA5E1tqMvw_30_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6759000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A"
      decimals="-3"
      id="Tc_TXDQX74u8E24w8L_pPBkUg_30_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6759000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA"
      decimals="-3"
      id="Tc_rtgirM-gi0SwxkHp4pfq-g_30_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1382000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_sVwypcZ7AUK-gyDV4Zq2iw_30_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8141000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_1L5LORyZ1USAZ1ZSt6ypmg"
      decimals="-3"
      id="Tc_fvGg7KZGcEiaeN0fC_60dg_31_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">46981000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A"
      decimals="-3"
      id="Tc_06FtqUdSt0mAIrlNOX4oYw_31_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">46981000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA"
      decimals="-3"
      id="Tc_8hTyKscgg0-vJbgaFy6DpQ_31_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8354000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_qlqiFtagA0ekHA6t-ioq3Q_31_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">55335000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <csiq:NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA"
      decimals="-3"
      id="Tc_Pzbq14Eb0UK_8Le7U_eMqg_32_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">36416000</csiq:NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan>
    <csiq:NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_W7zXmvmZdUy9XQb4WTDRFQ_32_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">36416000</csiq:NoncontrollingInterestIncreaseFromSubsidiarySharesUnderEmployeeIncentivePlan>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_tqWT3kkae06ylR74JxfKoQ"
      decimals="INF"
      id="Tc_1mxtlJeiBU2vDXuJT6QDPQ_33_2"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">1652686</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_1L5LORyZ1USAZ1ZSt6ypmg"
      decimals="-3"
      id="Tc_e7YcVFeCDEWRJB-7sZGdZg_34_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">244629000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RzOcr5YVNUaFouhgn_rs2w"
      decimals="-3"
      id="Tc_98rX2IpN-ECVpwg-V2ecgA_34_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">38395000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A"
      decimals="-3"
      id="Tc_RmeljdbSDUKVCgQSIWxKog_34_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">283024000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA"
      decimals="-3"
      id="Tc_SH8io3DBW0y_DB3ec2KLKQ_34_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">644873000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_qqG4YlZKbEW2Md4P0Dddpg_34_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">927897000</us-gaap:NoncontrollingInterestIncreaseFromSubsidiaryEquityIssuance>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA"
      decimals="-3"
      id="Tc_3Ixf01NPSUSPDHQscSkPGA_35_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1446000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:MinorityInterestDecreaseFromRedemptions
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_6obx1iy9j0St34_yAk8CiQ_35_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1446000</us-gaap:MinorityInterestDecreaseFromRedemptions>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA"
      decimals="-3"
      id="Tc_ixsh7d3cPE-Zdz68dXciYA_36_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5910000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_nmrH0DKWykCRAyZgL_CATA_36_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5910000</us-gaap:NoncontrollingInterestIncreaseFromSaleOfParentEquityInterest>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_k4-_DdOtz06Mkf2PnFm_mA"
      decimals="-3"
      id="Tc_XVHW6BE5m0KPE-iTG4kscw_37_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3990000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_RgWBG4VNk02FfmaYCn3h0g_37_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3990000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RzOcr5YVNUaFouhgn_rs2w"
      decimals="-3"
      id="Tc_dhk1vjhlcESCqu5eZW4qOg_38_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-3487000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A"
      decimals="-3"
      id="Tc_ebCI8AJKiEOl2K3AGC0sYw_38_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-3487000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_WyXGbIVvvUeshrnVNsJq4Q_38_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-3487000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentBeforeReclassificationAdjustmentsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RzOcr5YVNUaFouhgn_rs2w"
      decimals="-3"
      id="Tc_x19U6sRxnkOW9qP1aoZtrw_39_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1124000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A"
      decimals="-3"
      id="Tc_2wf7R_lpiUeZAo-1v223vg_39_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1124000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_c_F43IYxxESzPXJtFB4TNg_39_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1124000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RzOcr5YVNUaFouhgn_rs2w"
      decimals="-3"
      id="Tc_zFbg0JPnmkSRVzdKcE4H0A_40_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11264000</us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_cINq1cqxCkixJ_-HzTsC4A"
      decimals="-3"
      id="Tc_g_9gDMj2jEajVEK-i7EO7Q_40_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11264000</us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax>
    <us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_1QUC7LBHR0KQdtkNKtkUlw_40_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11264000</us-gaap:OtherComprehensiveIncomeLossDerivativeExcludedComponentIncreaseDecreaseBeforeAdjustmentsAfterTax>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hTa0aLkBrkmTjndU--ZlKQ"
      decimals="INF"
      id="Tc_BeU8dUx-cU2oXDX7fEeigQ_41_2"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">66158741</us-gaap:CommonStockSharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_hTa0aLkBrkmTjndU--ZlKQ"
      decimals="-3"
      id="Tc_AewKKkY1E0uf00I62ksYqA_41_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">835543000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_bwp36UcVtkus0aJ_NS0NlQ"
      decimals="-3"
      id="Tc_DOOQHnJLlEKPCw1dfBohWQ_41_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">292737000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Pb6OP8H5bkqvAcilbkhrrA"
      decimals="-3"
      id="Tc_vytcRvK0zUevusLJo6bQCw_41_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1549707000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CkgZWnvhgkCK2gFFEmRvNQ"
      decimals="-3"
      id="Tc_DnmKFl5xCk-XBeRWljbfKQ_41_10"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-118744000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_ParentMember_XQKASrd7u0aWNhiNED17aQ"
      decimals="-3"
      id="Tc_PIHRxSVPnkSxRLnQ54H_Kg_41_12"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2559243000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_JuwlZIZFPUKUOIUgjl171w"
      decimals="-3"
      id="Tc_yEWHOmf4eEulSqif_lmrtg_41_14"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1146001000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_57pIpiHbXEGhTxDdZgonPw_41_16"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3705244000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_HoZ20m-kpkiFH0GLeJ9h6A"
      decimals="INF"
      id="Narr_n1ae3EkjFkit7nsXuqMbeQ"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">3639918</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="Duration_5_27_2021_To_5_27_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_HoZ20m-kpkiFH0GLeJ9h6A"
      decimals="-3"
      id="Narr_j0YLiy_X2kiTl9rsAAsd9g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1490000</us-gaap:PaymentsOfStockIssuanceCosts>
    <csiq:ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_BmJzR9eWYE-Iq-taiz8law"
      decimals="0"
      id="Narr_IrtpH7A4d0SjfadqK6GiGQ"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">6628683</csiq:ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts>
    <csiq:ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_BmJzR9eWYE-Iq-taiz8law"
      decimals="-3"
      id="Narr_KMmfhrGQDUKnRr5FN0aWag"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">927897000</csiq:ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_BmJzR9eWYE-Iq-taiz8law"
      decimals="0"
      id="Narr_w7nbxXgGlkmgNLy-88PHaQ"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">277929</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_BmJzR9eWYE-Iq-taiz8law"
      decimals="-3"
      id="Narr_DeXzSQdIY0y2O-eJ2NjOTA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">38995000</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_FABnfhT_gE2rFWF5lwveUg_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">109876000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_YC4zMQn8qU-eOC3YrP0Ylg_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">298555000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_yzyUnMK6c0Wk1NECjoiN7g_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">363634000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_kz1Tv-wIV02pm348hvjdIQ_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">282769000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_6xPow0eybEqeiWUvN6vMiA_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">234559000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_GSN7Ap9vt0KgV9gjTc_Gyw_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">307040000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_YKruqCtVBE68mwjJ-1WhZA_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1461000</us-gaap:AccretionExpense>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_hOPZdh2-ik-SB7Bdn5cPVQ_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1302000</us-gaap:AccretionExpense>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_TyaaJJVAtEOX0TNRzRgmDw_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2145000</us-gaap:AccretionExpense>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_JTbzRPBBnU279ZCJBJtXWw_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-83000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_Qlpzdbs5FkOXDU1m8Nj2vw_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4259000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_rkrsfqpWGkuR0vn8d0-v3g_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5342000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_ZmAUNZWBQUuaQGQDgcdDTw_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10091000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc__lOk033ph0KTso1LLsdGkw_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-244000</csiq:GainLossOnDisposalOfSolarPowerSystemsAndOtherInvestments>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_QrE27UZwBE69JlCV4AaoUg_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10392000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_E3vlIhfovEO5NWnlKUWqPA_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6084000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_clX4Pk7fj0W99hUx3boujg_12_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">60330000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_dLdRec9H902DJnoxEom3Tg_12_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5938000</us-gaap:AssetImpairmentCharges>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc__4Oal65tk0m0BlO9aBhCkQ_13_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17152000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_9ae_I7bUCkKioHJb9XnU9Q_13_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1674000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_Mv33ZMYjTU-xauE6q-PV1A_13_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">16239000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:InvestmentsInAffiliatesImpairmentCharge
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_dFBcYFY-jUi52-4Z_12Krg_14_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">357000</csiq:InvestmentsInAffiliatesImpairmentCharge>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_Oq5HrS7VFUmEp4nZ3vMIrQ_15_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">23785000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_O3MBeO4fIE6QpumqopSH2g_15_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-44489000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_KpQUCEtEYUubgNmVpmxjNw_15_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-27504000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_Et9HdmCNJESDm_vXIHyGwA_16_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">12696000</us-gaap:FairValueAssetsMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_rqU4AFAoK0W96p_CNVLeuA_17_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7256000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_o_M7mSEJIE-U9-BWTS0xmg_17_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15440000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_TGYH8UAqkEmLfmr1-ed24w_17_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14610000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_cc-7E3nZhECRE3sd_7yCYQ_18_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7615000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_AbYhjGVfHU6gAUXzaKMO2w_18_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5773000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_RtklftRtn0Kn-1CgJ4IU4g_18_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">12014000</us-gaap:ProvisionForDoubtfulAccounts>
    <csiq:NonCashOperatingLeaseExpenses
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_BGM0WsWU7kah4zPdFqPtOQ_19_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14321000</csiq:NonCashOperatingLeaseExpenses>
    <csiq:NonCashOperatingLeaseExpenses
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_yXInzhkL-06-EvYWIY6RCA_19_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">13208000</csiq:NonCashOperatingLeaseExpenses>
    <csiq:NonCashOperatingLeaseExpenses
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_g05EflpCxkK_EJIhxy-hMA_19_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">18844000</csiq:NonCashOperatingLeaseExpenses>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_46g5cOeLmUO8pklTDUIcgw_20_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14070000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_Zw9UOpeo_E23wN3bwELD9g_20_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7475000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_TRxdyx1cHkeWTtswsmTgPA_20_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">113079000</us-gaap:InventoryWriteDown>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_7iS3Udmo90OuNeXLy-Z5KQ_21_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8808000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_DNv_dRby2Ue7FQwEPMBgYw_21_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9370000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_V5vU5AQKQUGlf6S6nzZr7Q_21_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">55335000</us-gaap:ShareBasedCompensation>
    <csiq:UnrealizedGainLossFromSalesToInvestees
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_k14QKEe7LECZfUMZ-peqHw_22_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-35890000</csiq:UnrealizedGainLossFromSalesToInvestees>
    <csiq:UnrealizedGainLossFromSalesToInvestees
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_DhbsR7S7uUytMaA26qu05A_22_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-5971000</csiq:UnrealizedGainLossFromSalesToInvestees>
    <csiq:UnrealizedGainLossFromSalesToInvestees
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_P7SvLT1EbUyBb0HtrtNLUA_22_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-2892000</csiq:UnrealizedGainLossFromSalesToInvestees>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_c26JRo5-KEijWKu9F5R4EQ_23_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-67386000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_r9_AxRK_pUO6fj9ANoReNw_23_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">16908000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_EjHNpc4sGEOXj2mCHBXTCQ_23_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-17908000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_tyln89UM_ECduHO2uzLZrQ_25_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">284785000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_2v35OHGCo0mJMx8P1KaIgg_25_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">357276000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_pdfNz_FrYEOvoPf118wrtA_25_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-58985000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_0boeXcvuQkSfGrx5I5mrcQ_26_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8783000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_o5pGmMbwK0aQIdyr2e1UxA_26_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">23367000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_zLerPZw7_0m5WsdMiQOKCg_26_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">43571000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_553q7utMlkyXvT3u3UElkQ_27_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">68912000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_o97CCBrwL0WAaBdzqvOX7w_27_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4451000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_8tb164MvJEqjMJr95FymTA_27_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-9210000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_O8mtKxCNmkamgcGxwagiQg_28_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">518741000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_pHmlPRAdlkizhxNkKvDr7Q_28_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">406343000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_Yj0GKXWnrE6xJoCmX9IJHA_28_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-182767000</us-gaap:IncreaseDecreaseInInventories>
    <csiq:IncreaseDecreaseInValueAddedTaxReceivable
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_V-VinUqgGEWbcT_QQKN_kQ_29_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">21873000</csiq:IncreaseDecreaseInValueAddedTaxReceivable>
    <csiq:IncreaseDecreaseInValueAddedTaxReceivable
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_pmfdXE-VgU-i3s4zDe3JgQ_29_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">43881000</csiq:IncreaseDecreaseInValueAddedTaxReceivable>
    <csiq:IncreaseDecreaseInValueAddedTaxReceivable
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_SUsgup4MEkSK0EcQE7bxEg_29_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5985000</csiq:IncreaseDecreaseInValueAddedTaxReceivable>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_xm9kVmeucEqKdCdq_7KWGA_30_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">30416000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_xe31tpf_eEKrsHby3AKvTg_30_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">52893000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInAdvanceToSuppliers
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_GI3-8fG7ZEqwqPemBIqjEw_30_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-54915000</csiq:IncreaseDecreaseInAdvanceToSuppliers>
    <csiq:IncreaseDecreaseInProjectAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_6A5nR8cC2kCJw9apYv4s8Q_31_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">73375000</csiq:IncreaseDecreaseInProjectAssets>
    <csiq:IncreaseDecreaseInProjectAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_9sjZw3HHrECnctyNyoqYWA_31_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">302839000</csiq:IncreaseDecreaseInProjectAssets>
    <csiq:IncreaseDecreaseInProjectAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_-hHRVCSW50Cc_rXYN5Oo_g_31_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">349830000</csiq:IncreaseDecreaseInProjectAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_c_XkzQmOKECIdhbeBNYUog_32_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">85754000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_jl1uV7IPn0aof-K0jjoAUw_32_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-151663000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_xYL0AGmEckaqT2qi5SiJLg_32_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">22277000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_EeV7H0_MgkScK9UiMUpsmg_33_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-20357000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_60CIsMho-UajI7ups7a9EQ_33_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17350000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_13sl9i4Ja0qvQZ-gMZir0A_33_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">33597000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_bewoooowcEG15YohQm8XVw_34_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11023000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_6JGbDk_QhE2roNA0NNXhxA_34_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">351535000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInAccountsPayableTrade
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc__z5ZCWKh90aE5-4NxjiBJg_34_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">13115000</us-gaap:IncreaseDecreaseInAccountsPayableTrade>
    <us-gaap:IncreaseDecreaseInNotesPayableCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_cQ5egMAVpEm9iV8Q1g7Cxg_35_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">150982000</us-gaap:IncreaseDecreaseInNotesPayableCurrent>
    <us-gaap:IncreaseDecreaseInNotesPayableCurrent
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_PV46f-L_OU6zOLP6ijojnA_35_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">721039000</us-gaap:IncreaseDecreaseInNotesPayableCurrent>
    <us-gaap:IncreaseDecreaseInNotesPayableCurrent
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_gsun5tg5dE6sDJih91vhJQ_35_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-590418000</us-gaap:IncreaseDecreaseInNotesPayableCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_avtx4mWGr0GNKE6Lnj30ew_36_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-171000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_jMJtlgnS7UCjIiwoq5aCRA_36_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-54000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_hJs5PenfqUGaIm94zf0TKg_36_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">427000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayable
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_GTKVqB6fFUS-_P5uK8_R-Q_37_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">126215000</us-gaap:IncreaseDecreaseInOtherAccountsPayable>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayable
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_fO5LCKIY40OlgDfdsylI1Q_37_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-417000</us-gaap:IncreaseDecreaseInOtherAccountsPayable>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayable
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_zNdpu7VOUki7pLhSN61vsQ_37_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">169944000</us-gaap:IncreaseDecreaseInOtherAccountsPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_dVOQTl5WQ0SXdbFxfSMeHg_38_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-53998000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_ZfsoFqb0QUiuA679gC0ziQ_38_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">209855000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_g9JBboS_q0Ss4v3lCmFTmQ_38_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">59383000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_gFKqiZKGREumnFrQ_hTCMw_39_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-14156000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_nV5W9oM07keJqF-zhvW_Ig_39_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-14160000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_D097qkDmXEWrIZWpwEsijQ_39_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-14571000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_7Mh8vreti0-po1Z6qDa6lQ_40_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">51248000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_Jbu0AML0L0uGrnhIKOB8yQ_40_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">68492000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_D0Z3_uCyh0imxsu249SRwg_40_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">337055000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_YxVSFuYDdU2NdBvihfW1Qw_41_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-7281000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_ulkXoaUzz0mA0Yx6sIB97g_41_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1718000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_D0QXC1B-TUeDLWgv8VftUA_41_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-29000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_lme64TcDaEe2Spg3NNObpg_42_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-31886000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_Bwpe8Z3S-UGrZgLGWHRwWw_42_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">31851000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_zBZVhQXFu0-M2AEHA2rhxw_42_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">39133000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_4aceiofunkWS-B4YWIvF6g_43_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-10939000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_jE-AMF5bf02KQMaEkMX3Mw_43_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-9625000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_508cwxFfqE6qS7o82-DIdg_43_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">23873000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_idBmWPwWPEO8-Cmo99UYHQ_44_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-408254000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_J2sXiDqQBEWUg-QOxnA5zQ_44_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">916631000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_TXYwH0iWu0K60MkUptWhfA_44_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">684615000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_elmd-Q-0-ke7NguyMtmkeA_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">54004000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_pfeAHFIe8EuWC9284jHR2w_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">19355000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_fzN93ZXSDU-n2zZnKIIKxQ_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">113404000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireAdditionalInterestInSubsidiaries
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_zrMm1JzcfkGpqdasI2c_SA_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9448000</us-gaap:PaymentsToAcquireAdditionalInterestInSubsidiaries>
    <us-gaap:PaymentsToAcquireEquitySecuritiesFvNi
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_deq_A8LxKU-8MH7HcArjdQ_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">427000</us-gaap:PaymentsToAcquireEquitySecuritiesFvNi>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_4AB0uyfjgUm63lrSfzErhg_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2671000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_8ZC5tz_Lbk6vQd8fdbVsTw_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7083000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_ArTga-L2Hkm4ZDjsOhZCuA_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2759000</us-gaap:ProceedsFromEquityMethodInvestmentDividendsOrDistributionsReturnOfCapital>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_BDgBlxZnRUOeErJJQRTHfA_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14311000</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_MWGgi1SG5ECx6kq04Cgg7g_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">301000</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_0odCeQt2Y0OJaOsY_J4JoQ_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">428725000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_fPTIn5VFDkOvGHtfPtpDrQ_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">627115000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_IjLlSpkteUi_qVR01F55Ew_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1116461000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:OperatingLeasePaymentsUse
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_W5FN5qEWGk2rwOuQ54vktA_11_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">36121000</us-gaap:OperatingLeasePaymentsUse>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_0Q35UHhnNk2El2Qitw4uuA_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">18555000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_Gg4M_pe1EEytNRTUE3gymg_12_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7479000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_m1svptnwb0mNbvXS7xlMRw_12_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10317000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <csiq:PaymentsToAcquireSolarPowerSystems
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_Phe7anFWAkeEltVbUe7_uw_13_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">775000</csiq:PaymentsToAcquireSolarPowerSystems>
    <csiq:PaymentsToAcquireSolarPowerSystems
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_GVn26SM9H0y55Rkri0If0A_13_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">882000</csiq:PaymentsToAcquireSolarPowerSystems>
    <csiq:PaymentsToAcquireSolarPowerSystems
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_Q8ULP9xPaUaMFrqNwMisug_13_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">408999000</csiq:PaymentsToAcquireSolarPowerSystems>
    <csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_3sjjpsls7k2kjdp_X8Tq2A_14_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">18397000</csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems>
    <csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_ixsGECuO2kmIURU7nSyiPw_14_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2302000</csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems>
    <csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_rYP8R3oUUkmdTcWhz355bw_14_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">67000</csiq:ProceedsFromSaleOrDisposalOfSolarPowerSystems>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_59efBzWSPUO4hhvacYE7bw_15_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-429570000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_OtWP0UFJNUWnGNk03cMokg_15_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-630488000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_qONcOcuhA0u5D5qsw1IRoQ_15_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1671416000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_kQKjm9CoEkO-Jk31NByH_Q_17_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1742064000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_hP4lXrEPUE6RY4ttYabpHg_17_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1387537000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:ProceedsFromNotesPayable
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_a13r9RsXAE2aBkHyhJTbag_17_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1566240000</us-gaap:ProceedsFromNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_dQG33Eq_sk2UftthAGtfng_18_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1879884000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_8jSq9PoNoEOne-u-4bjUHg_18_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1695563000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_F0h7wMTONkqvaizZtMW8sQ_18_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1603571000</us-gaap:RepaymentsOfNotesPayable>
    <csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_MHfcQebv0E2MzB6PrtCKDQ_19_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">588082000</csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt>
    <csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_ATPn-yZhs0SwH9tFfO-mRg_19_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">770368000</csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt>
    <csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_Z2YHal8CcEm8mhywJc4edg_19_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1016931000</csiq:ProceedsFromIssuanceOfLongTermDebtOtherThanConvertibleDebt>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_9g0lfE1aCEi1jlW7G2xfEg_20_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">121023000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_HHoPv0HxX0W8KTwLovuR-g_21_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10719000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_FySX37ObIUeEpP7pfv0_jw_21_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1446000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_VNqr1_l_zU6vBl0MgWd2hQ_22_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10003000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_S4gcIry3TEGjYEoxciAxrg_22_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15109000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:ProceedsFromMinorityShareholders
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_a6fP7p6U40at9Rqvu4Zzlw_22_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5910000</us-gaap:ProceedsFromMinorityShareholders>
    <us-gaap:PaymentsOfDividendsMinorityInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_pTvcl6J93kW_ZKWui492yg_23_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3990000</us-gaap:PaymentsOfDividendsMinorityInterest>
    <csiq:ProceedsFromPaymentsToMinorityShareHolder
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_g5th1PB9r0WlqXwcvLYnuQ_24_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-6588000</csiq:ProceedsFromPaymentsToMinorityShareHolder>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_ntthgAr3LUiNEjGuZZ9_4Q_25_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">148510000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <csiq:ProceedsFromSubsidiaryEquityOfferings
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc__jlJYCnWsEmwQ5azpTludw_26_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">966892000</csiq:ProceedsFromSubsidiaryEquityOfferings>
    <us-gaap:PaymentsOfStockIssuanceCosts
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_IQaD16Zxk0CptlBV70lhug_27_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">38995000</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:RepaymentsOfDebtAndCapitalLeaseObligations
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_95nU-CwFNUW-XnCu0327xg_28_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">29595000</us-gaap:RepaymentsOfDebtAndCapitalLeaseObligations>
    <us-gaap:RepaymentsOfDebtAndCapitalLeaseObligations
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_CgwurvA-ykubQUqxnyKiVA_28_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">28013000</us-gaap:RepaymentsOfDebtAndCapitalLeaseObligations>
    <csiq:SaleLeasebackTransactionProceedsFinancingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_T2VyGG6awkaExo7X_qIJ7A_29_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">45693000</csiq:SaleLeasebackTransactionProceedsFinancingActivities>
    <csiq:SaleLeasebackTransactionProceedsFinancingActivities
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_WYIgfy9b4E-rw5meR8tPhQ_29_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">91648000</csiq:SaleLeasebackTransactionProceedsFinancingActivities>
    <csiq:RepaymentsOfFinanceLeaseObligation
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_euHysLB0f0OyR7baMkXfsQ_30_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">23090000</csiq:RepaymentsOfFinanceLeaseObligation>
    <csiq:RepaymentsOfFinanceLeaseObligation
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_ThLmq9DRAUGtW9aXADBMcA_30_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">19217000</csiq:RepaymentsOfFinanceLeaseObligation>
    <csiq:RepaymentsOfFinanceLeaseObligation
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_VesMo3yp2kOwntekm1dqHg_30_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">39801000</csiq:RepaymentsOfFinanceLeaseObligation>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_2XbGSg8XykeXzU4v2wJXVA_31_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">614071000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_OsNwQIHPGESp_nNs4vkqoA_31_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">428639000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_cTHlg2NP0kKz6CbFDmXXfw_31_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2052828000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_9vp_T5vXFU6NrTrEcVWorg_32_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">18320000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_jy81G3gUT0CKPWqlWUiOrA_32_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-179561000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_F2ebw28u_U2ngRdyFpXDeA_32_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-89098000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_GRDyvIZ8h0qIYIifMfTXMQ_33_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-205433000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_6IaVv7Yc6UCEEfoAVx2YjA_33_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">535221000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_gdEMfoKfmkidd2RHYkbHoQ_33_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">976929000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2019_IAvlFUuH00KKZuwXmlH8CA"
      decimals="-3"
      id="Tc_2UJkpBdJJU65R4NxfmLC_A_34_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1639715000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ"
      decimals="-3"
      id="Tc_u2gPevg1KEOzGdU3Sad2RA_34_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1434282000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_Nj2YfKSTQkGwzaAF5Q29BA_34_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1969503000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ"
      decimals="-3"
      id="Tc_QsXshTMSP0iWsn6UByYrWQ_35_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1434282000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_6GclL6ZK1UuTGWxmSliAQg_35_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1969503000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_z8q6Ro_3fECI9bN8UvTkVA_35_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2946432000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_Vvt5msGB0UefCr6SGeA9eg_37_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">71006000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_tYhUiYLNmky1rq8rWrMagA_37_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">76511000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_i-vfTnRMfU6qXPYnru5uGA_37_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">121665000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_S7JiVovCdU2ZXXKw4pukUg_38_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">57396000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_l8o2zdqKpUSQg10Mgpa3lQ_38_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">77400000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_fMsJ6p2zfk-CTCs3SW0Qlg_38_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">83077000</us-gaap:IncomeTaxesPaidNet>
    <csiq:ReclassificationFromProjectAssetsToSolarPowerSystems
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_UzNA7Qyn80abnEXhy6T0WA_40_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">263710000</csiq:ReclassificationFromProjectAssetsToSolarPowerSystems>
    <csiq:ReclassificationFromProjectAssetsToSolarPowerSystems
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_bHDKbIXkS024NRrVuCf13w_40_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">119067000</csiq:ReclassificationFromProjectAssetsToSolarPowerSystems>
    <csiq:ReclassificationFromInventoriesToSolarPowerSystems
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_isOndHCPbEml6MssWTE8eQ_41_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">46197000</csiq:ReclassificationFromInventoriesToSolarPowerSystems>
    <csiq:BorrowingsAssumedByThirdPartiesWithProjectAssetSales
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_8CXET_3UgEufBhM2VbmUGw_42_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">118406000</csiq:BorrowingsAssumedByThirdPartiesWithProjectAssetSales>
    <csiq:BorrowingsAssumedByThirdPartiesWithProjectAssetSales
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_GqLofU_rv0SQuDY2QOAtZQ_42_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">193578000</csiq:BorrowingsAssumedByThirdPartiesWithProjectAssetSales>
    <csiq:BorrowingsAssumedByThirdPartiesWithProjectAssetSales
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_GIymZDj1pESnY2HiLPXSWQ_42_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">161709000</csiq:BorrowingsAssumedByThirdPartiesWithProjectAssetSales>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_VEtWwUk1502mETrkVXIXSQ_43_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">299664000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_Uar-5o9jpEOKH_aCff5a_w_43_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">549883000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_PApCMHteuU-bTOcFITXMsg_43_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">933029000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_9rVHvlneOE-2tYfXxiGQ4Q_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">981434000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_MxzfxCxt40qPYyCL5F75oA_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1938689000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_sYojjIPiCEib0fkWoGkLSQ_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">978116000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_X9nHzY6By0KV4DlpUYs-Aw_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">999933000</us-gaap:RestrictedCashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_OV508586UEGZAN23O47O8A_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9953000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:RestrictedCashAndCashEquivalentsNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_aleD92_AgESNYke6TdlG9g_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7810000</us-gaap:RestrictedCashAndCashEquivalentsNoncurrent>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_TGse8ty_s02lCUr3-7gLZw_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1969503000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_F5K3AV3Bq0Kmk0OvxteH7Q_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2946432000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:NatureOfOperations
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_aUq0Pjzy2ka2tPADleFpig">&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 12pt 0pt;"&gt;Canadian Solar Inc.(&#x201c;CSI&#x201d;) 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 energy storage solutions, and developer of utility-scale solar power and battery energy 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 12pt 0pt;"&gt;CSI was incorporated pursuant to the laws of the Province of Ontario in October 2001, and in 2006, changed its jurisdiction by continuing under the Canadian federal corporate statute, the Canada Business Corporations Act, or CBCA. 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 12pt 0pt;"&gt;In July 2020, the Company announced its plan to carve-out and publicly list its subsidiary, CSI Solar Co., Ltd. (&#x201c;CSI Solar&#x201d;) in China (the &#x201c;IPO&#x201d;). Refer to Note 22 for further information.To qualify CSI Solar 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 shares to third-party investors for an aggregate consideration of RMB1.50 billion (approximately $219,000 on the date of transaction), and selected employees also purchased existing CSI Solar shares from the Company for an aggregated consideration of RMB31 million (approximately $4,500 on the date of transaction), following which, the third-party investors and Canadian Solar employees, in aggregate, owned 20.4% of CSI Solar as of December 31, 2022. The Company&#x2019;s wholly-owned global project development business, its Recurrent 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 0pt 12pt 0pt;"&gt;In addition, CSI Solar approved an employee incentive plan and utilized a limited liability partnership as a vehicle to hold CSI Solar shares that were used under the employee incentive plan. Eligible CSI Solar directors, employees and board members have collectively subscribed to equity interest in the partnership for an aggregate of RMB248 million ($36,342 on the date of transaction), for which the vesting conditions include the completion of the IPO and the service period.&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 9 , 2023, CSI Solar completed its IPO and its shares began trading on the Science and Technology Innovation Board (the &#x201c;STAR Market&#x201d;) of the Shanghai Stock Exchange (the &#x201c;SSE&#x201d;). In the STAR IPO, CSI Solar raised proceeds of $927,897, net of transaction costs. Upon completion of the IPO and as of December 31, 2023, the Company owned 62.24% of the outstanding CSI Solar shares. The Company continues to present CSI Solar as a segment subsequent to the IPO.&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, 2023, the Company operated two reportable segments as follows:&lt;/p&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&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;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 and battery energy storage manufacturing, and delivery of total system solutions, including inverters, solar system kits and EPC (engineering, procurement, and construction) services. CSI Solar&#x2019;s e-STORAGE branded battery energy storage business includes its utility-scale turnkey battery system solutions, as well as a small but growing residential battery energy storage business. 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;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 0pt 18pt;"&gt;&lt;span style="margin-left:0pt;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:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&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;b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;"&gt;Recurrent 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 is the Company&#x2019;s clean energy project development platform with &lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;15 years&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt; of experience delivering solar power and battery energy storage projects. It is vertically integrated and has strong expertise in greenfield origination, development, financing, execution, operations and maintenance, and asset management.&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;text-indent:18pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:NatureOfOperations>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="Duration_7_1_2020_To_7_31_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_7DF6CjZRPkKmp86srDDe_w"
      decimals="-7"
      id="Narr_s9R8IYpDuE2Ke0FL1btQ2w"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">1500000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="Duration_7_1_2020_To_7_31_2020_srt_ConsolidatedEntitiesAxis_srt_SubsidiariesMember_7DF6CjZRPkKmp86srDDe_w"
      decimals="-3"
      id="Narr_TtHdII0IVE-mTT8ZwWWxPQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">219000000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="Duration_7_1_2020_To_7_31_2020_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_zQysP7sf10uO6Pe_iWJl7w"
      decimals="-6"
      id="Narr_c3wjr9efAUuWad7nkozrSQ"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">31000000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="Duration_7_1_2020_To_7_31_2020_srt_CounterpartyNameAxis_csiq_CanadianSolarEmployeesMember_zQysP7sf10uO6Pe_iWJl7w"
      decimals="-3"
      id="Narr_WJGzCD2eO0yMX93vutNd1A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4500000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="As_Of_12_31_2022_srt_OwnershipAxis_csiq_CanadianSolarMember_VNCIWLaEoEqbNebsJGuYhg"
      decimals="3"
      id="Narr_wwux7EDNTEqNLvyq-a51Zw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.204</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_EurWMbbB_UW9LVBtT8eOOw"
      decimals="-6"
      id="Narr_tdPJXVxhbUihF9SoVa_q1Q"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">248000000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_LeadingInstitutionalInvestorsAndStrategicPartnersMember_srt_OwnershipAxis_csiq_CanadianSolarMember_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_EurWMbbB_UW9LVBtT8eOOw"
      decimals="-3"
      id="Narr_CLqh4FEZLUOvBRbo_7_A8Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">36342000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan>
    <csiq:ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts
      contextRef="Duration_6_9_2023_To_6_9_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_A7lHs4qezUy15tu1yj9jkA"
      decimals="-3"
      id="Narr_ukoDT7OEWEipB_CyxRUXXg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">927897000</csiq:ProceedsFromSubsidiaryEquityOfferingsNetOfTransactionCosts>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCoLtdMember_b8ZbWxyuok219iMzTCp-tw"
      decimals="4"
      id="Narr_G6llsAMXMkOftyqMKELPfA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.6224</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <csiq:ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_Dm_TVBgnSkelw4ZBiZkOkA">P15Y</csiq:ExperienceTermInDeliveringSolarPowerAndBatteryEnergyStorageProjects>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_XW3HyzIPh0-lyqv63151jA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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 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 $25,257 and $11,163 as of December 31, 2022 and 2023, 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 12pt 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 12pt 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 identification of performance obligation, determination and allocation of 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, warranty insurance receivable and other receivable, 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, the impairment on goodwill and intangible assets acquired, 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 12pt 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 12pt 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 short-term notes payable, letters of guarantee, letters of credit and bank borrowings. Upon maturity of the letters of guarantee and letters of credit, and repayment of short - term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the 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 12pt 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 energy 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;margin:0pt 0pt 12pt 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 12pt 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, warranty insurance receivable and other receivable 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 has been 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, and a corresponding reduction in general and administrative expenses. The balance of receivable from these insurers in prepaid expenses and other current assets were $1,873 and $2,929 as of December 31, 2022 and 2023, 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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 0pt;"&gt;When an impairment indicator suggests that the carrying amounts of inventories might not be recoverable, 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. Impairment indicators considered for these purposes are, among others, obsolescence and damages, decrease in market prices, and future demand forecast.&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 12pt 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 6pt 0pt;"&gt;Project assets consist primarily of capitalized costs relating to solar power and battery energy storage assets in various stages of development prior to the intended sale of the solar power and battery energy storage projects. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar power and battery energy 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, lithium batteries, 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;margin:0pt 0pt 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(j)&#160;&#160;&#160;&#160;Project assets (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 12pt 0pt;"&gt;Solar power and battery energy storage assets 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 and battery energy storage systems on the consolidated balance sheets. During the development phase, the Company capitalizes costs of the solar power and battery energy storage assets as guided by ASC 970. The costs to develop or construct solar power and battery energy storage assets 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 and battery energy storage systems, respectively. While the solar power and battery energy storage assets 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 power and battery energy storage assets is assessed based on the circumstances on each balance sheet date. Solar power and battery energy storage assets 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 12pt 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 less cost to sell 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 12pt 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 power and battery energy 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 power and battery energy 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 12pt 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 12pt 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. The Company includes the results of operations of the acquired business in the consolidated financial statements beginning on the acquisition date. For the year ended December 31, 2023, the Company completed three acquisitions that were not individually, nor in the aggregate, significant to the consolidated financial position, results of operations and cash flows of the 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 12pt 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 12pt 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 12pt 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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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: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;10-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 12pt 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 12pt 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 12pt 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 12pt 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 solar power systems 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 12pt 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 are comprised of customer-related intangible assets that include customer relationships and backlog, trademark, 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;Customer-related intangible assets&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;&#160;&#160;&#160;&#160;&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;7-20 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;Trademark&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;20 years&lt;/p&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 12pt 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;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 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 12pt 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 12pt 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 12pt 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 12pt 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, 2021, 2022 and 2023, the Company recorded nil, $357 and nil 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 12pt 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 12pt 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 $6,084, $60,330 and $5,938 for the years ended December 31, 2021, 2022 and 2023, 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 12pt 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 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(t)&#160;&#160;&#160;Advances from customers&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 may receive payments from customers in advance of the satisfaction of performance obligations primarily for inventory purchases. These current portion amounted to $334,943 and $392,308 as of December 31, 2022 and 2023, respectively, and the non-current portion amounted to nil and $52,693 as of December 31, 2022 and 2023, respectively. These current and non-current amounts are recognized as contract liabilities until the performance obligations are completed and are included as advances from customer and other non-current liabilities in the consolidated balance sheets, respectively, based on the expected timing of performance obligation of the contract liabilities.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(u)&#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 $399 and $1,249 as of December 31, 2022 and 2023, respectively.&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;(v)&#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 12pt 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 12pt 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 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(w)&#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;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;&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;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(x)&#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 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(y)&#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 12pt 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 (ac) 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 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(y)&#160;&#160;&#160;Revenue recognition (Continued)&lt;/span&gt;&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;Battery energy 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 12pt 0pt;"&gt;The Company recognizes revenue for the sales of battery energy storage products, 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. Revenue from the delivery of turnkey battery energy storage solutions and EPC services is recognized over time based on the estimated progress to completion using a cost-based input method. This includes the advances that battery energy storage customers are required to make on the value of their battery energy 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;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 power and battery energy storage assets sales&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 and battery energy storage assets (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 or battery energy storage assets. For sales of solar power and battery energy storage assets 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 power and battery energy storage assets are often held in separate legal entities, trusts or investment funds which are formed for the special purpose of constructing the solar power and battery energy 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;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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(y)&#160;&#160;&#160;Revenue recognition (Continued)&lt;/span&gt;&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;Power services (Operations and Maintenance, or &#x201c;O&amp;amp;M&#x201d;) and asset management &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;Power services (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 power services (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 power services (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;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;Electricity revenue from operating portfolio&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 from operating portfolio is generated primarily by the Company&#x2019;s solar power plants under long-term PPAs, virtual power purchase agreements (&#x201c;VPPAs&#x201d;) 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, 2021, 2022 and 2023, the Company recognized performance-based energy incentives related to electricity generated of $9,402, $2,908 and $2,772, respectively, in revenue. &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 evaluates offtake contracts, such as PPAs and VPPAs, and long-term contracts to determine whether the agreements is or contains a lease where the fulfillments of the arrangement is dependent on the use of specific asset and arrangement conveys to the customer the right to control the use of the asset. Where the Company determines that the contractual provisions of a contract contain, or are, a lease and result in the customer assuming the principal risks and rewards of ownership of the asset, the arrangement is a finance lease. Assets subject to finance leases are not reflected as solar power systems and the net investment in the lease, represented by the present value of the amounts due from the lessee, is recorded in the consolidated balance sheet as a finance lease receivable. The payments considered to be part of the leasing arrangement are apportioned between a reduction in the lease receivable and finance lease income. The finance lease income element of the payments is recognized using a method that results in a constant rate of return on the net investment in each period and is reflected in finance lease income on the consolidated statements of operations. Where the Company determines that the contractual provisions of a contract contain, or are, a lease and result in the Company retaining the principal risks and rewards of ownership of the asset, the arrangement is an operating lease. For operating leases, the asset is, or continues to be, capitalized as solar power systems and depreciated over its useful life. 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, 2021, 2022 and 2023 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;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;td style="vertical-align: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;2023&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,273&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;Recurrent 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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 44,842&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 48,115&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 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(y)&#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;"&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 $4,940, $4,736 and $4,434 for the years ended December 31, 2021, 2022 and 2023, respectively. The remaining amounts of $24,480, $19,099 and $43,681 for the years ended December 31, 2021, 2022 and 2023, respectively, including performance-based energy incentives are recorded in accordance with ASC 606. For the years ended December 31, 2021, 2022 and 2023, there was no revenue generated from finance lease. In 2023, the Company entered into a fixed-price VPPA for the offtake of the generation from one of its solar power systems. The VPPA is settled financially on a monthly basis. The Company&#x2019;s VPPA contract does not meet the definition of a derivative because it does not have a notional amount.&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 12pt 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, 2021, 2022 and 2023 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;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;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;2023&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; 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;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,767,156&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; 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;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; 348,817&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;Recurrent 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; 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;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; 399,826&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; 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;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; 97,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; 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;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,613,626&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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For the year ended December 31, 2023, $398,545 of the Company&#x2019;s revenue was recognized from the beginning balance of contract liabilities as of January 1, 2023. 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 $725,808 as of December 31, 2023 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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:1.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;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:1.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;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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 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;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 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;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;2022&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;2023&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; 57,770&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; 101,435&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; 334,943&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; 392,308&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;&lt;span 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.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; 71,808&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; 333,500&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;Other non-current liabilities&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: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%;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.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: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%;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,693&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="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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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%;border-bottom:3px double #000000;margin:0pt;padding: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;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: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%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 778,501&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;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;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 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(y)&#160;&#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 12pt 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 12pt 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 12pt 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, 2022 and 2023 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;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(z)&#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 within the CSI Solar segment of $316,358, $453,865 and $237,947, are included in selling and distribution expenses for the years ended December 31, 2021, 2022 and 2023, 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aa)&#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 $58,407, $69,822 and $100,844 for the years ended December 31, 2021, 2022 and 2023, respectively.&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;(ab)&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 12pt 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 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 12pt 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 ROU assets, 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;margin:0pt 0pt 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ab)&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;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 12pt 0pt;"&gt;As of December 31, 2023, the Company has $159,991 of government grants in 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;"&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;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;td style="vertical-align: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;2023&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (79,241)&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 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (5,342)&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) loss 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;"&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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 244&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;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 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; (84,339)&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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ac)&#160;Warranty costs&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 typically sold its 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, 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, and provided warranty against decline in performance for certain module types for a period of 25 years. The Company has also provided warranty against decline in performance for its bifacial module and double glass module products for 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 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ac)&#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 12pt 0pt;"&gt;The Company maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties related to defects that existed when the product was sold to the customer. 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 12pt 0pt;"&gt;The Company warrants its battery energy storage products for a specific amount of time against performance or manufacturing defects. The standard warranty is typically for an initial term of 1 to 5 years from the date of installation, and is accounted for as an assurance-type warranty, which provides a guarantee of quality, limited to specific usage parameters, and does not represent a separate performance obligation. Extended warranties and performance guarantees for up to an additional 15 years that the customers purchase separately are accounted for as separate performance obligations. The Company accrue warranty reserves at the time of recording the revenue.The Company continuously monitors its warranty failures and review its 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 suppliers to back up a portion of its battery energy storage warranties. The Company also records a liability for specific warranty matters when they become known and are reasonably estimable.&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 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 12pt 0pt;"&gt;The Company has historically entered into agreements with a group of insurance companies to back up a portion of its warranties on solar module products against defects. 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 $264 and $168 as of December 31, 2022 and 2023, respectively, and was included as a component of prepaid expenses and other current&#160;assets. 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 solar module 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 12pt 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;margin:0pt 0pt 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ac) Warranty costs (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 12pt 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 significant provision has been determined to be necessary.&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 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. The insurance proceeds expected to be collected within twelve months of the balance sheet date is included as current receivable, while the remaining balance is included within other non- current assets on the consolidated balance sheets. The non-current insurance receivable amounts were $84,474 and $82,735 as of December 31, 2022 and 2023, 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;The Company made downward adjustments to its accrued warranty costs of $39,449 for the year ended December 31, 2023, to reflect the net effect of a decrease in average selling price of solar modules and a volume increase in solar modules shipment, which are two primary inputs into the estimated warranty costs. Accrued warranty costs, net effect of adjustments, of $45,053, $68,411 and $27,944 are included in cost of revenues for the years ended December 31, 2021, 2022 and 2023, respectively.&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;(ad)&#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 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ae)&#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 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(af)&#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 2021, 2022 and 2023 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 silicon wafers and polysilicon, other raw materials, such as solar 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 and Thai baht. 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ag)&#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 12pt 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 12pt 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 12pt 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, 2022 and 2023, 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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;/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;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: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;2023&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-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; 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;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;/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, 2023.&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 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ah)&#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 12pt 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 to sell an asset or paid to transfer a liability in an orderly transaction between market participants. The three-tiered fair value hierarchy, which prioritizes which inputs should be used in measuring fair value and requires the use of observable market data when available in determining fair value, is comprised of:&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 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 obligations under employee deferred compensation plan and listed equity securities for all periods presented, use Level 1 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 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ai)&#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 12pt 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 12pt 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. The Company classifies the cash flows related to realized gain or loss on settlement of derivatives as operating activities, which are based on the nature of the cash flows the derivative is economically hedging.&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 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aj)&#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. The dilutive effect of outstanding share-based awards is reflected by application of the treasury stock method and convertible notes by application of the if-converted method, as applicable. 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ak)&#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 restricted share units (&#x201c;RSUs&#x201d;) and share options 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. The Company allocated share-based compensation expenses to cost of revenues, selling and distribution expenses, general and administrative expenses and research and development expenses on its consolidated statements of operations, depending on the job functions of the individuals to whom we granted the restricted share units.&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 Company&#x2019;s subsidiary, CSI Solar, approved the CSI Solar employee incentive plan. Determination of estimated fair value of the Company&#x2019;s subsidiary before public listing requires complex and subjective judgments due to its limited financial and operating history, unique business risks and limited public information on companies that are similar to the Company&#x2019;s subsidiary. The Company estimated CSI Solar&#x2019;s enterprise value for purposes of recording share-based compensation, and the information considered by the Company mainly includes but is not limited to future cash flow forecasts, discount rates, and liquidity factors.&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;(al)&#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 12pt 0pt;"&gt;Over the past three years, the COVID-19 pandemic posed significant challenges to many aspects of the Company&#x2019;s business, including its operations, customers, suppliers and projects. On May 5, 2023, the World Health Organization announced that COVID-19 was no longer a public health emergency.&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 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 12pt 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 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(am)&#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 12pt 0pt;"&gt;In March 2020, the FASB issued ASU No. 2020-04, Reference Rate Reform (Topic 848), 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. As of December 31, 2023, the Company no longer had any LIBOR debts. The adoption of this new standard did not have a material impact on the Company&#x2019;s consolidated financial statements, as all of the Company&#x2019;s previous LIBOR debt agreements contemplated a change to the Secured Overnight Financing Rate (SOFR) as the reference rate upon discontinuance of LIBOR.&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 new standard was effective for the Company beginning January 1, 2023. 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;"&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 adopted provisions of this ASU beginning January 1, 2023, with the exception of the amendment on rollforward information, which was adopted in January 1, 2024. Adoption of the 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;"&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;In March 2023, the FASB issued ASU No. 2023 - 01, Leases (Topic 842): Common Control Arrangements, which requires leasehold improvements associated with common control leases to be amortized over the useful life to the common control group. The new standard 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;&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;In November 2023, the FASB issued ASU No. 2023 - 07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which improves reportable segment disclosure requirements, primarily through enhanced disclosures about significant segment expenses. The new standard is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the impact of adopting this new guidance on disclosures in 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;"&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;In December 2023, the FASB issued ASU No. 2023 - 09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires disclosure of specific categories in the income tax rate reconciliation, and additional information for reconciling items that meet a quantitative threshold disaggregated by nature and jurisdiction. The new standard is effective for fiscal years beginning after December 15, 2024. 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_KAhO9-vgYkWMv84HjE2ZeA">&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;(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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_9yIg30Iw90i6XvTzHefz4Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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 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 $25,257 and $11,163 as of December 31, 2022 and 2023, 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_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_eo3dyxxYP0q_6jwGcNqsBg"
      decimals="-3"
      id="Narr_4OZyrUhGWkazFcXyiiiAyg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">25257000</us-gaap:GuaranteeObligationsMaximumExposure>
    <us-gaap:GuaranteeObligationsMaximumExposure
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_us-gaap_GuaranteeObligationsByNatureAxis_us-gaap_FinancialGuaranteeMember_oV_jXQK8i06bID-v5lLp4A"
      decimals="-3"
      id="Narr_qgBnzL4qUU-FdFAkgGitqA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11163000</us-gaap:GuaranteeObligationsMaximumExposure>
    <us-gaap:PriorPeriodReclassificationAdjustmentDescription
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_kcMQnR-E6Eqw2uL1pj9V9Q">&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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_krRqwEyPRU299oY32Jz2jg">&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;(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 identification of performance obligation, determination and allocation of 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, warranty insurance receivable and other receivable, 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, the impairment on goodwill and intangible assets acquired, 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_KVlaIa9ttUqhpzcBPYiWKA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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 short-term notes payable, letters of guarantee, letters of credit and bank borrowings. Upon maturity of the letters of guarantee and letters of credit, and repayment of short - term notes payable or bank borrowings, the deposits are released by the bank and become available for general use by the Company.&lt;/p&gt;</us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy>
    <us-gaap:TradeAndOtherAccountsReceivableUnbilledReceivablesPolicy
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_b7NSnq5mHESMA9RbdGvraQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 energy 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_UrrNAORLKUW5m0F5fWV2dQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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, warranty insurance receivable and other receivable 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 has been 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, and a corresponding reduction in general and administrative expenses. The balance of receivable from these insurers in prepaid expenses and other current assets were $1,873 and $2,929 as of December 31, 2022 and 2023, respectively.&lt;/p&gt;</us-gaap:CreditLossFinancialInstrumentPolicyTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_acFHZS_OoU66MU8FssBCEw"
      decimals="-3"
      id="Narr_WMKxFQ4zokCZvv6YUXbq_Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1873000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_jDHpMaygyES8fKLvs1qA3A"
      decimals="-3"
      id="Narr_EZZOqBwWIU-GeGbwVEyfAw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2929000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <csiq:AdvancesToSuppliersPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_Q9SyLxmlZkC_Lz8i6SA9Fw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_SOcIODovN0WRyZYiuM7o2A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 0pt;"&gt;When an impairment indicator suggests that the carrying amounts of inventories might not be recoverable, 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. Impairment indicators considered for these purposes are, among others, obsolescence and damages, decrease in market prices, and future demand forecast.&lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <csiq:ProjectAssetsPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Group_KrcqlOZEuUmfqfmsh5fw-w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 6pt 0pt;"&gt;Project assets consist primarily of capitalized costs relating to solar power and battery energy storage assets in various stages of development prior to the intended sale of the solar power and battery energy storage projects. These costs include certain acquisition costs, land costs and costs for developing and constructing a solar power and battery energy 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, lithium batteries, 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 12pt 0pt;"&gt;Solar power and battery energy storage assets 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 and battery energy storage systems on the consolidated balance sheets. During the development phase, the Company capitalizes costs of the solar power and battery energy storage assets as guided by ASC 970. The costs to develop or construct solar power and battery energy storage assets 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 and battery energy storage systems, respectively. While the solar power and battery energy storage assets 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 power and battery energy storage assets is assessed based on the circumstances on each balance sheet date. Solar power and battery energy storage assets 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 12pt 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 less cost to sell 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 12pt 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 power and battery energy 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 power and battery energy 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_ywyW6WSJhEeTlSe_-IbYhA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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. The Company includes the results of operations of the acquired business in the consolidated financial statements beginning on the acquisition date. For the year ended December 31, 2023, the Company completed three acquisitions that were not individually, nor in the aggregate, significant to the consolidated financial position, results of operations and cash flows of the Company.&lt;/p&gt;</us-gaap:BusinessCombinationsPolicy>
    <csiq:AssetsAcquisitionPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_EzHTIUkCNEaz2T43dcGuxA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_OkjMlBT9Z0-Gez-zawhdVg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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: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;10-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 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_YqZnTavf5Uqo-SVCbE2qMA">&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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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: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;10-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;</csiq:ScheduleOfPropertyPlantAndEquipmentUsefulLifeTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_WaEiPFIdpUigAZIrpWVYZw"
      id="Narr_FzP6zKAA2UGZn5Xz90MuAw">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_rbW637K8HkK-S1yVK685oA"
      id="Narr_u2FjbQNVnESxGm7omwU90Q">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_kRRetXLgF0Ot_Oa4bmpkTA"
      id="Narr_nZEh17gAAEueM6LeM6X8Dg">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_tKWG_0dlGEmS_JeLhM_iKg"
      id="Narr_lycabP00OEGyR9O_7UVH3A">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_b7KOkC-sckKDHZFW9sLHug"
      id="Tc_T0rA1CN4w0m2hBvPgo9mhQ_4_2">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_fV2OfmeUM0CyXcr4zR9vaA"
      id="Tc_LHTIsczrykG6b6O8t_Cupg_5_2">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <csiq:SolarPowerSystemsPolicyPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_gWbMfx4FckGtDQBViK0rGQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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 solar power systems 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="As_Of_1_1_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_p-ctdiw5RkiQjve1vUjUew"
      id="Narr_T8Mwd20BGk-Hl_m5y24r4g">P20Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_1_1_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_OK96WgpChUWj6HVGwfVTcw"
      id="Narr_GnIx3QWJI0SPGU3DiHCP4g">P25Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_1_1_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ServiceLifeMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_Mu1TlXWj0UaQrz0gkeDMRA"
      id="Narr_fEScQzvbaEK1vkdG22E5gQ">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_z84Xd7SXaUChpwj5Hlc8kQ"
      id="Narr_MRLO0oBHa0eZ2mPntojVAQ">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_z84Xd7SXaUChpwj5Hlc8kQ"
      id="Narr_7N8voH5jaUCF-FAc8l0JcA">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_23TJRA-bn0aTAtz-hXQI6g"
      decimals="-3"
      id="Narr_boSU4AbaHEap4e6FdMCQ5g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2186000</csiq:IncreaseDecreaseInDepreciationExpense>
    <us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_nBYdGoiM5kC2RdhLMn_YCQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 are comprised of customer-related intangible assets that include customer relationships and backlog, trademark, 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;Customer-related intangible assets&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;&#160;&#160;&#160;&#160;&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;7-20 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;Trademark&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;20 years&lt;/p&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;</us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_rf52SL1B9kiBF6OFVG5FaQ">&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;Customer-related intangible assets&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;&#160;&#160;&#160;&#160;&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;7-20 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;Trademark&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;20 years&lt;/p&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;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_pVgnbbzp9UuDbQs9QBTXEQ"
      id="Narr_o4JmTH4qr0ma8cQByMHqDg">P7Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_37kwuGMl30KCeVsQ1psLOA"
      id="Narr_TxxeP_1pLEudqg57V426KA">P20Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksMember__NjWXWYwfU-DynV03dcxiA"
      id="Tc_Njl0kDi1k0CKKv-WcyLDrQ_2_2">P20Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_AvNSYgA36EqZWQjujBa-zA"
      id="Tc_dUbqMU8uWkStCzd7fbJpqg_3_2">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_Ouee3zmroUSqRenE986NCQ"
      id="Narr_hTYDG_M7zkSTdUwVGcguxw">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_l0KIKvSXx0SamHkVat9teA"
      id="Narr_dgkHccvRKUGGRtIvrlq3jw">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <csiq:LandUseRightPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_ID8yC0Gjv0ahpAT1HhMGTw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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;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 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="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_UseRightsMember_jkw4N1o-sEy_lVsiRv6-dQ"
      id="Narr_6atl9oyqqUm3joiG9Ce-UA">P50Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:EquityMethodInvestmentsPolicy
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_C99UpuuePUuKVJhUPZ9edA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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, 2021, 2022 and 2023, the Company recorded nil, $357 and nil of impairment charges on its investments, respectively.&lt;/p&gt;</us-gaap:EquityMethodInvestmentsPolicy>
    <csiq:InvestmentsInAffiliatesImpairmentCharge
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_4RoE3beJQkGN1ZoKm9zteQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">0</csiq:InvestmentsInAffiliatesImpairmentCharge>
    <csiq:InvestmentsInAffiliatesImpairmentCharge
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_P7rKQXZKdk6o53VD394hbg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">357000</csiq:InvestmentsInAffiliatesImpairmentCharge>
    <csiq:InvestmentsInAffiliatesImpairmentCharge
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_Xf_DJvpaHkuRQfZXOjBpOQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">0</csiq:InvestmentsInAffiliatesImpairmentCharge>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_wYniEo1AfE6_74gUdxpUHQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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 $6,084, $60,330 and $5,938 for the years ended December 31, 2021, 2022 and 2023, respectively.&lt;/p&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_2SwyYU91XUiq113Z6Qdipw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6084000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_T_Q-M5QtT0G5H5adyoE8Rg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">60330000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_kcxPX6jCMEWoTRk4JZWaCQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5938000</us-gaap:AssetImpairmentCharges>
    <us-gaap:InterestCapitalizationPolicyPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_HBxxmgi67k6YXNzNKOc4uw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 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 12pt 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>
    <csiq:AdvancesFromCustomersPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_fYIwSNQUHECmLDQ175KQ0A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(t)&#160;&#160;&#160;Advances from customers&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 may receive payments from customers in advance of the satisfaction of performance obligations primarily for inventory purchases. These current portion amounted to $334,943 and $392,308 as of December 31, 2022 and 2023, respectively, and the non-current portion amounted to nil and $52,693 as of December 31, 2022 and 2023, respectively. These current and non-current amounts are recognized as contract liabilities until the performance obligations are completed and are included as advances from customer and other non-current liabilities in the consolidated balance sheets, respectively, based on the expected timing of performance obligation of the contract liabilities.&lt;/p&gt;</csiq:AdvancesFromCustomersPolicyTextBlock>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Narr_4gBu_kqXLEGOSd99NatQHw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">334943000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_pzeJV0StNka--zo-SBZQJw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">392308000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Narr_yjUu8Cbqnkmf5pzb-M3JfQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">0</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_HS7p-helHk-gwkPbzRRUuQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">52693000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:AssetRetirementObligationsPolicy
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_q1pvo-YE_EKgDEdUy-KGng">&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;(u)&#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 $399 and $1,249 as of December 31, 2022 and 2023, respectively.&lt;/p&gt;</us-gaap:AssetRetirementObligationsPolicy>
    <us-gaap:AssetRetirementObligation
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Narr_fnY9H3ocl0y-6VvZcsV5kA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">399000</us-gaap:AssetRetirementObligation>
    <us-gaap:AssetRetirementObligation
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_lnryPUUDaU-pnoXx1BHpgA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1249000</us-gaap:AssetRetirementObligation>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_XWJlMxLM6E6d5K4K3_r0vA">&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;(v)&#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 12pt 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 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_t44FcYZLxEWorRYDJcPKpQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(w)&#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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_ncAr1b5aAUuSOfohtbgWHA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(x)&#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 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Group_qwmPxKX8HUmFJyPZk1souQ">&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;(y)&#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 12pt 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 (ac) 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 12pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Battery energy 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 12pt 0pt;"&gt;The Company recognizes revenue for the sales of battery energy storage products, 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. Revenue from the delivery of turnkey battery energy storage solutions and EPC services is recognized over time based on the estimated progress to completion using a cost-based input method. This includes the advances that battery energy storage customers are required to make on the value of their battery energy 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;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 power and battery energy storage assets sales&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 and battery energy storage assets (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 or battery energy storage assets. For sales of solar power and battery energy storage assets 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 power and battery energy storage assets are often held in separate legal entities, trusts or investment funds which are formed for the special purpose of constructing the solar power and battery energy 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;Power services (Operations and Maintenance, or &#x201c;O&amp;amp;M&#x201d;) and asset management &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;Power services (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 power services (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 power services (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;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;Electricity revenue from operating portfolio&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 from operating portfolio is generated primarily by the Company&#x2019;s solar power plants under long-term PPAs, virtual power purchase agreements (&#x201c;VPPAs&#x201d;) 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, 2021, 2022 and 2023, the Company recognized performance-based energy incentives related to electricity generated of $9,402, $2,908 and $2,772, respectively, in revenue. &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 evaluates offtake contracts, such as PPAs and VPPAs, and long-term contracts to determine whether the agreements is or contains a lease where the fulfillments of the arrangement is dependent on the use of specific asset and arrangement conveys to the customer the right to control the use of the asset. Where the Company determines that the contractual provisions of a contract contain, or are, a lease and result in the customer assuming the principal risks and rewards of ownership of the asset, the arrangement is a finance lease. Assets subject to finance leases are not reflected as solar power systems and the net investment in the lease, represented by the present value of the amounts due from the lessee, is recorded in the consolidated balance sheet as a finance lease receivable. The payments considered to be part of the leasing arrangement are apportioned between a reduction in the lease receivable and finance lease income. The finance lease income element of the payments is recognized using a method that results in a constant rate of return on the net investment in each period and is reflected in finance lease income on the consolidated statements of operations. Where the Company determines that the contractual provisions of a contract contain, or are, a lease and result in the Company retaining the principal risks and rewards of ownership of the asset, the arrangement is an operating lease. For operating leases, the asset is, or continues to be, capitalized as solar power systems and depreciated over its useful life. 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, 2021, 2022 and 2023 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;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;td style="vertical-align: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;2023&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,273&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;Recurrent 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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 44,842&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 48,115&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;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 $4,940, $4,736 and $4,434 for the years ended December 31, 2021, 2022 and 2023, respectively. The remaining amounts of $24,480, $19,099 and $43,681 for the years ended December 31, 2021, 2022 and 2023, respectively, including performance-based energy incentives are recorded in accordance with ASC 606. For the years ended December 31, 2021, 2022 and 2023, there was no revenue generated from finance lease. In 2023, the Company entered into a fixed-price VPPA for the offtake of the generation from one of its solar power systems. The VPPA is settled financially on a monthly basis. The Company&#x2019;s VPPA contract does not meet the definition of a derivative because it does not have a notional amount.&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 12pt 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, 2021, 2022 and 2023 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;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;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;2023&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; 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;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,767,156&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; 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;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; 348,817&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;Recurrent 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; 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;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; 399,826&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; 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;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; 97,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; 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;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,613,626&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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;For the year ended December 31, 2023, $398,545 of the Company&#x2019;s revenue was recognized from the beginning balance of contract liabilities as of January 1, 2023. 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 $725,808 as of December 31, 2023 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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:1.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;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:1.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;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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 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;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 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;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;2022&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;2023&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; 57,770&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; 101,435&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; 334,943&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; 392,308&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;&lt;span 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.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; 71,808&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; 333,500&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;Other non-current liabilities&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: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%;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.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: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%;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,693&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="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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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%;border-bottom:3px double #000000;margin:0pt;padding: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;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: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%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 778,501&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 0pt 12pt 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 12pt 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 12pt 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, 2022 and 2023 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_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_WPjYxh6bbEq_6RjQ7bNc1Q"
      decimals="-3"
      id="Narr_N5P2OHcS_kaQCFa_eOyi5g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9402000</csiq:AmountOfPerformanceBasedEnergyIncentives>
    <csiq:AmountOfPerformanceBasedEnergyIncentives
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YDotsNiXVU6SNlcaXMaXIA"
      decimals="-3"
      id="Narr_k4X_qRR-FkK-9YSWj6fCfg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2908000</csiq:AmountOfPerformanceBasedEnergyIncentives>
    <csiq:AmountOfPerformanceBasedEnergyIncentives
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ryvoTcfNHUOsDJw-hXCk5Q"
      decimals="-3"
      id="Narr_E4Hk6ekNM0SrWPiYfATYhA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2772000</csiq:AmountOfPerformanceBasedEnergyIncentives>
    <csiq:ScheduleOfElectricityRevenueTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_LXFo8dr0pkCWNpPb509GqA">&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;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;td style="vertical-align: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;2023&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,273&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;Recurrent 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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 44,842&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 48,115&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfElectricityRevenueTableTextBlock>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_93jJV8QIm0u6Bd9Mt4wS9A"
      decimals="-3"
      id="Tc_aGiIo_HgEUKQ-b2pkjgBiw_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_DFjbF0wGBEag26Rbcr_80g"
      decimals="-3"
      id="Tc_uein9MTZz06-Jrt3sVW8Sw_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2256000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_qv1igzzfT0iqsNUYxbs30A"
      decimals="-3"
      id="Tc_mesrZumxhE6c6POKkkjutQ_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3273000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_dP4rfcSfoUG85br_VyTGsw"
      decimals="-3"
      id="Tc_tChFOubBDUKtGW4wKT19-Q_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_RecurrentEnergySegmentMember__zkkgeZELECYQdvuU-uBlg"
      decimals="-3"
      id="Tc_uwEs5Ibx2EifcydeYj228Q_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">21579000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_wlyQsVEsQUahttUFFxoVMQ"
      decimals="-3"
      id="Tc_9myrJDepjEq-tNBd7TPfPg_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">44842000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_WPjYxh6bbEq_6RjQ7bNc1Q"
      decimals="-3"
      id="Tc_KOWMrOLPAUibeIb8WL4jOA_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">29420000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YDotsNiXVU6SNlcaXMaXIA"
      decimals="-3"
      id="Tc_H3yi70a53E-WyCLXarZ_6g_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">23835000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ryvoTcfNHUOsDJw-hXCk5Q"
      decimals="-3"
      id="Tc_T6OkBS-f10m2s7t1IIutkg_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">48115000</us-gaap:Revenues>
    <us-gaap:OperatingLeaseLeaseIncome
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_WPjYxh6bbEq_6RjQ7bNc1Q"
      decimals="-3"
      id="Narr_IEd8umo0bE-VVM5D3Nd8DQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4940000</us-gaap:OperatingLeaseLeaseIncome>
    <us-gaap:OperatingLeaseLeaseIncome
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YDotsNiXVU6SNlcaXMaXIA"
      decimals="-3"
      id="Narr_e5ELRxbKjkeKo1_50IlT7w"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4736000</us-gaap:OperatingLeaseLeaseIncome>
    <us-gaap:OperatingLeaseLeaseIncome
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ryvoTcfNHUOsDJw-hXCk5Q"
      decimals="-3"
      id="Narr_dMrHR0NQmUK0V_vYsZfaDg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4434000</us-gaap:OperatingLeaseLeaseIncome>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_WPjYxh6bbEq_6RjQ7bNc1Q"
      decimals="-3"
      id="Narr_I1v-KPMMmEOm8aQFKmCGfw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">24480000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_YDotsNiXVU6SNlcaXMaXIA"
      decimals="-3"
      id="Narr_Q9clyaFWhkSK_Jt21S0Jjw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">19099000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ElectricityMember_ryvoTcfNHUOsDJw-hXCk5Q"
      decimals="-3"
      id="Narr_0q-MfJiNd0q5IaWTuW3XXw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">43681000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <csiq:RevenueGeneratedFromFinanceLease
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_qkUUjANPXUWepAN3zNyaRw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">0</csiq:RevenueGeneratedFromFinanceLease>
    <csiq:RevenueGeneratedFromFinanceLease
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_df0EejH4IU2rnG_K4Hw90Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">0</csiq:RevenueGeneratedFromFinanceLease>
    <csiq:RevenueGeneratedFromFinanceLease
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_tRUE_onfT06QqTDOqcV6PQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">0</csiq:RevenueGeneratedFromFinanceLease>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_JYN92pOEkEiTcgU-a1TCvA">&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;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;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;2023&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; 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;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,767,156&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; 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;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; 348,817&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;Recurrent 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; 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;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; 399,826&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; 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;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; 97,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; 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;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,613,626&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_LVtBZfF6NUOmIbdMPHfbMQ"
      decimals="-3"
      id="Tc_o9ozLxtdrEW7cHvHE5K4jg_5_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_1AmprYuMYUyxAaEgAQ8Vrw"
      decimals="-3"
      id="Tc_mOFXH70Qd02njMWGd_FWLw_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6173338000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_SEuEAcWLsEKB8jGq-5tJRQ"
      decimals="-3"
      id="Tc_p_850Ip1ZUWNUJjaqNU9iQ_5_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6767156000</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_QB-7ZTkSokiOxsrvhB0r9Q"
      decimals="-3"
      id="Tc_62oAwuEu40GbSGAsROnlJg_6_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_DBX-eee19Ua5lfH9qGltrg"
      decimals="-3"
      id="Tc_7BjXWAt2fk2oWkCYJ9656A_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">473747000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_GZqHbDlNqkehDq0GE22Rng"
      decimals="-3"
      id="Tc_cjNiJPvNn0agAddyXld_pA_6_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">348817000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_UVFxDdJ5WUaJkaCBYEZSOg"
      decimals="-3"
      id="Tc_YSkjf-dsyEGDjfiQoyZskA_9_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1068179000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_0nT8QCQFS0usQ-YdxSGbKA"
      decimals="-3"
      id="Tc_BmMKCrGbZkGoMHEMfbL7ng_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">763698000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredAtPointInTimeMember_WkKiaqog40anyDNUyUl1Fg"
      decimals="-3"
      id="Tc_qHY9KXIJ30C1d8v8U6-1Ow_9_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">399826000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_yXIJLFQQXUu7p5kd6jImpA"
      decimals="-3"
      id="Tc_9DgGWGiugk28XmD9P9EODQ_10_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">55904000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_CkkAzpM5yUC69fxG3DytTQ"
      decimals="-3"
      id="Tc_lwkurtNOU0yhA-8ln3EpWA_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">57827000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_us-gaap_TimingOfTransferOfGoodOrServiceAxis_us-gaap_TransferredOverTimeMember_gVl4LAJ28EKrWm3lcp4Dnw"
      decimals="-3"
      id="Tc_6falct3QyUWcBlC-S63obA_10_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">97827000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_i071PoEiwEC915fbMeSelw_11_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5277169000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_QUkhRfLo_kuFQ68UWkh46Q_11_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7468610000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_QWH4QimofkqBuAZsHDOXEw_11_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7613626000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_EdqiwE7_DUirCjGKy3p9yw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">398545000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_h-aOMadvtUejq7EPCTn1qw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">219836000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_mu_2a-Auwk-g18V8tYEyqw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">725808000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_lQgJxqsawU-laxFb1KRhAw">&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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:1.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;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:1.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;width:14.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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 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;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 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;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;2022&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;2023&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; 57,770&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; 101,435&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; 334,943&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; 392,308&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;&lt;span 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.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; 71,808&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; 333,500&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;Other non-current liabilities&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: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%;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.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: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%;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,693&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="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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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%;border-bottom:3px double #000000;margin:0pt;padding: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;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: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%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 778,501&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_wksQEaEJdEqR6MnIr7YV8g_5_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">57770000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:UnbilledReceivablesCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_VAzZ9y5vQECrYimaaCG1VQ_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">101435000</us-gaap:UnbilledReceivablesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_cHooFWNPT06JBhI15Uv5sA_8_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">334943000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_7eWLqL-9j0G9qNNJrz28lQ_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">392308000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <csiq:ContractLiabilitiesOtherCurrentLiabilities
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_RPaMKPzwFUu1_zfN74uDMg_9_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">71808000</csiq:ContractLiabilitiesOtherCurrentLiabilities>
    <csiq:ContractLiabilitiesOtherCurrentLiabilities
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_E5sVC8J2AEC1oE1uXHk8Hg_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">333500000</csiq:ContractLiabilitiesOtherCurrentLiabilities>
    <csiq:ContractLiabilitiesOtherNonCurrentLiabilities
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_8JezIECIa0yN26mwmg1hHw_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">52693000</csiq:ContractLiabilitiesOtherNonCurrentLiabilities>
    <us-gaap:ContractWithCustomerLiability
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_YBbbL9oVskaFYfr9TPVtZA_11_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">406751000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_f6Im98G4JU2mSbIW-3_HXg_11_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">778501000</us-gaap:ContractWithCustomerLiability>
    <csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_vBQKi96TkUiPPWfl2TcZiQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(z)&#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 within the CSI Solar segment of $316,358, $453,865 and $237,947, are included in selling and distribution expenses for the years ended December 31, 2021, 2022 and 2023, respectively.&lt;/p&gt;</csiq:ShippingsAndHandlingCostPolicyPolicyTextBlock>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2WKKJyW2jU2pdZDSDXQ1gA"
      decimals="-3"
      id="Narr_koEJyhlFDkKU8Z9aHqlbCQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">316358000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zKatWNF4TU6yRSoTij1Shg"
      decimals="-3"
      id="Narr_cHbNbsf6a0eu-ONWJY85uQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">453865000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_ShippingAndHandlingMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2hzThO8Z50ufaUB8VvdJXg"
      decimals="-3"
      id="Narr_7Odl3sZ-QUeCtP29ezYCeA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">237947000</us-gaap:SellingExpense>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_wjUmLqijoEq7ZrBux_MUTA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(aa)&#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 $58,407, $69,822 and $100,844 for the years ended December 31, 2021, 2022 and 2023, respectively.&lt;/p&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_Ujc92nYe10mmeCN32QORlA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">58407000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_rgq8OaykLUWrrVJMfIdsww"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">69822000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_1VvDMLBMBEGjBgFxJIrCog"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">100844000</us-gaap:ResearchAndDevelopmentExpense>
    <csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Group_HdUK1BKcOEan3hWWczwMmg">&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;(ab)&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 12pt 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 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 12pt 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 ROU assets, 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 12pt 0pt;"&gt;As of December 31, 2023, the Company has $159,991 of government grants in 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;"&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;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;td style="vertical-align: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;2023&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (79,241)&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 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (5,342)&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) loss 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;"&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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 244&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;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 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; (84,339)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:OtherOperatingIncomeExpensePolicyPolicyTextBlock>
    <csiq:GovernmentGrantsNonCurrent
      contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherCurrentLiabilitiesMember_dbq9KowpK0Wk0UCteamtOw"
      decimals="-3"
      id="Narr_uYXglNZJZkukRDy9inWc2g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">159991000</csiq:GovernmentGrantsNonCurrent>
    <csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_ssGvNljLH0ehbGLmbpe6Ig">&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;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;td style="vertical-align: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;2023&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (79,241)&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 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (5,342)&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) loss 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;"&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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 244&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;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 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; (84,339)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfOtherOperatingIncomeExpenseTableTextBlock>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_us-gaap_GrantMember_Bzjzle3KlU6LAG6bGtWUHg"
      decimals="-3"
      id="Tc_J_2DwXhhgUKvTUJ-rJAqOA_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">38468000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_us-gaap_GrantMember_PDKeWQTpx0mk4o4EMRm3mQ"
      decimals="-3"
      id="Tc_GiyS-xiVR0-oyzWK5zuqpw_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">59543000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_us-gaap_GrantMember_SJC_T6PiUkiIJyfjdZ827g"
      decimals="-3"
      id="Tc_rHo3DXaSJU6nXIpqbmtmiA_4_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">79241000</us-gaap:OtherOperatingIncomeExpenseNet>
    <csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_4xjawk0jHEetG1EilzRHrw_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">83000</csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense>
    <csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_7Huwk80IdEi1Bv8V0rRVfg_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-4259000</csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense>
    <csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_bNEJmy_7iEi7t5HlvOhlQw_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-5342000</csiq:NetLossDisposalPropertyPlantEquipmentOtherOperatingExpense>
    <csiq:GainLossOnDisposalOfSolarPowerSystems
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_Zdzkf5gFFkKhqF1paP_ULA_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10091000</csiq:GainLossOnDisposalOfSolarPowerSystems>
    <csiq:GainLossOnDisposalOfSolarPowerSystems
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_u4m2JDm6D0ux_tUc2snQdQ_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-244000</csiq:GainLossOnDisposalOfSolarPowerSystems>
    <csiq:InsuranceClaimsOrWeatherRelatedProjectDamages
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_3AMbAK1KJU6CaP25d7hRVA_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1408000</csiq:InsuranceClaimsOrWeatherRelatedProjectDamages>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_VjoeKmjF_kSvSMFko7566g_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">47068000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_GSD21-TQS0-0-KqLdhYgVw_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">63802000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc__fdGuKUFHUC4ZezMmi73HA_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">84339000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:StandardProductWarrantyPolicy
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Group_nZbG9YdYk06hx1_J6CtQFQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ac)&#160;Warranty costs&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 typically sold its 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, 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, and provided warranty against decline in performance for certain module types for a period of 25 years. The Company has also provided warranty against decline in performance for its bifacial module and double glass module products for 30 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 maintains warranty reserves to cover potential liabilities that could arise under these guarantees and warranties related to defects that existed when the product was sold to the customer. 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 12pt 0pt;"&gt;The Company warrants its battery energy storage products for a specific amount of time against performance or manufacturing defects. The standard warranty is typically for an initial term of 1 to 5 years from the date of installation, and is accounted for as an assurance-type warranty, which provides a guarantee of quality, limited to specific usage parameters, and does not represent a separate performance obligation. Extended warranties and performance guarantees for up to an additional 15 years that the customers purchase separately are accounted for as separate performance obligations. The Company accrue warranty reserves at the time of recording the revenue.The Company continuously monitors its warranty failures and review its 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 suppliers to back up a portion of its battery energy storage warranties. The Company also records a liability for specific warranty matters when they become known and are reasonably estimable.&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 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 12pt 0pt;"&gt;The Company has historically entered into agreements with a group of insurance companies to back up a portion of its warranties on solar module products against defects. 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 $264 and $168 as of December 31, 2022 and 2023, respectively, and was included as a component of prepaid expenses and other current&#160;assets. 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 solar module 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 12pt 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 12pt 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 significant provision has been determined to be necessary.&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 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. The insurance proceeds expected to be collected within twelve months of the balance sheet date is included as current receivable, while the remaining balance is included within other non- current assets on the consolidated balance sheets. The non-current insurance receivable amounts were $84,474 and $82,735 as of December 31, 2022 and 2023, 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;The Company made downward adjustments to its accrued warranty costs of $39,449 for the year ended December 31, 2023, to reflect the net effect of a decrease in average selling price of solar modules and a volume increase in solar modules shipment, which are two primary inputs into the estimated warranty costs. Accrued warranty costs, net effect of adjustments, of $45,053, $68,411 and $27,944 are included in cost of revenues for the years ended December 31, 2021, 2022 and 2023, respectively.&lt;/p&gt;</us-gaap:StandardProductWarrantyPolicy>
    <csiq:StandardProductWarrantyPeriod
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_5y9-zb3uRk-OPKn7odHU-g"
      id="Narr_h8LPoeaeikuQsvgKR4sw9A">P2Y</csiq:StandardProductWarrantyPeriod>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_5y9-zb3uRk-OPKn7odHU-g"
      id="Narr_ZdElNv76OECKksQ8yDok3A">P10Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_5y9-zb3uRk-OPKn7odHU-g"
      id="Narr_83578rZeUUirKhOga3L41A">P25Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity>
    <csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_5y9-zb3uRk-OPKn7odHU-g"
      decimals="2"
      id="Narr_GluXk2-hMUml1fQ5grOMlg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.10</csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTenYearWarranty>
    <csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty
      contextRef="Duration_5_31_2009_To_5_31_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_5y9-zb3uRk-OPKn7odHU-g"
      decimals="2"
      id="Narr_r2tUUsrgxEKoFUL6JS5kYQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</csiq:SolarModulesMinimumPercentageOfDeclineInPowerGenerationCapacityToGetTwentyFiveYearWarranty>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_6_1_2009_To_6_30_2009_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_GebhO3giQkWjY431K4cWLA"
      id="Narr_3Py8paHeMU61vJ_f7hy4Xg">P6Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_8_1_2011_To_8_31_2011_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_-b0_7Og4p0i3el8lK66VwQ"
      id="Narr_RjEyEbPE8kOLxHNu4AhUSg">P10Y</csiq:InsurancePolicyTerm>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2019_To_12_31_2019_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_6j3nmY6eg0CD-l2XM_PD3g"
      id="Narr_aoa1TvI9vU-FudBeKdSgXQ">P12Y</csiq:InsurancePolicyTerm>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_CertainSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_CHaGigBP-EmqN1fJXdTItA"
      id="Narr_C_Tdq7qoHUmF5UskJ2gsjw">P15Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_CertainSolarModuleMember_us-gaap_GuaranteeObligationsByNatureAxis_csiq_MaterialAndWorkmanShipMember_CHaGigBP-EmqN1fJXdTItA"
      id="Narr_k0U_Q8Mip02L7SdIAifhKg">P25Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTwentyPercentOfPowerGenerationCapacity>
    <csiq:InsurancePolicyTerm
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_StandardSolarModuleMember_HAaF0DywSEGUfBguAedZKQ"
      id="Narr_Iqhmlq0PFEGnHPgdaiWKLQ">P25Y</csiq:InsurancePolicyTerm>
    <csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_BifacialModuleAndDoubleGlassModuleMember_1JqaHu5k_kC8qU53QaV6rg"
      id="Narr_N_HoXopv7Ue-sdnjQhTdYQ">P30Y</csiq:SolarModulesWarrantyPeriodAgainstDeclineOfMoreThanTenPercentOfPowerGenerationCapacity>
    <csiq:ProductWarrantyAccrualRateForSalesOfSolarModules
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Narr_OfXWkqG0g0-wN_O832cJzw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.01</csiq:ProductWarrantyAccrualRateForSalesOfSolarModules>
    <csiq:StandardProductWarrantyTerm
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_srt_RangeAxis_srt_MinimumMember_zURZGeg500WWXWJQKshRpw"
      id="Narr_cSuDHeKucU--syn-vUW8Rg">P1Y</csiq:StandardProductWarrantyTerm>
    <csiq:StandardProductWarrantyTerm
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_srt_RangeAxis_srt_MaximumMember_g9Zu-n293k2RNI6Yi5rAPg"
      id="Narr_asWyDF5jVEuAS2lAijFy-Q">P5Y</csiq:StandardProductWarrantyTerm>
    <csiq:StandardProductWarrantyExtensionPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageProductsMember_xDqoLAbqnESx6e5G-uTs0Q"
      id="Narr_acLzG4WlaUK4MyiOf8-dAw">P15Y</csiq:StandardProductWarrantyExtensionPeriod>
    <csiq:StandardProductWarrantyPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarPowerProjectsByEpcServicesMember_cNIepb4TTkKX9iNLnWqmPw"
      id="Narr_4A6EFG02B0mnnxOGIODESw">P2Y</csiq:StandardProductWarrantyPeriod>
    <csiq:InsurancePremiumUnamortizedAmountNoncurrent
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_XVzHb6cnNEWrU-TzYm2L5A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">264000</csiq:InsurancePremiumUnamortizedAmountNoncurrent>
    <csiq:InsurancePremiumUnamortizedAmountNoncurrent
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_n3oudpqLvEm9rb9Rq0-8-A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">168000</csiq:InsurancePremiumUnamortizedAmountNoncurrent>
    <us-gaap:InsuranceSettlementsReceivableNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Narr_dxEoHSpJwUi--3sSmDDNeQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">84474000</us-gaap:InsuranceSettlementsReceivableNoncurrent>
    <us-gaap:InsuranceSettlementsReceivableNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_HrTncrrxRkeXtBGJ3nGv-Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">82735000</us-gaap:InsuranceSettlementsReceivableNoncurrent>
    <csiq:OtherNoncurrentAssetsAdjustment
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_U941AivXAkySIGc8U90dtQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">39449000</csiq:OtherNoncurrentAssetsAdjustment>
    <us-gaap:ProductWarrantyExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_syVKdKZFq0-IQCCaW2f4aw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">45053000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_iKvGivX4wU2-SSOPx8rNkQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">68411000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr__AodkC9sHEOxXQdniYOu8Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">27944000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_Yr7W7a88q0ukPBSPyChh-g">&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;(ad)&#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 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_-qOR0OGhx0CHt73CsPrqxQ">&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;(ae)&#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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_m2bfrrGAYEOsuoaP6Ye-WQ">&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;(af)&#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 2021, 2022 and 2023 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 silicon wafers and polysilicon, other raw materials, such as solar 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 and Thai baht. 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_gageotl3dkiZOnv2LdTXZA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;(ag)&#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 12pt 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 12pt 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 12pt 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, 2022 and 2023, 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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;/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;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: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;2023&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-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; 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;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;/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, 2023.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <csiq:ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_HnoruZqUyEe2Sm9Te4lz0A">&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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;/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;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: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;2023&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-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; 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;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;/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, 2023.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfPrepaymentsByMajorSuppliersTableTextBlock>
    <us-gaap:AdvancesOnInventoryPurchases
      contextRef="As_Of_12_31_2022_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_SupplierConcentrationRiskMember_us-gaap_ShareBasedGoodsAndNonemployeeServicesTransactionBySupplierAxis_csiq_SupplierMember_LWmYNOXZikut3pvMJqZecg"
      decimals="-3"
      id="Tc_QURatuURBEGib1MIPFVtrg_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">35359000</us-gaap:AdvancesOnInventoryPurchases>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_fu14Lcykt06kipHJnR4_Ig">&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;(ah)&#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 12pt 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 to sell an asset or paid to transfer a liability in an orderly transaction between market participants. The three-tiered fair value hierarchy, which prioritizes which inputs should be used in measuring fair value and requires the use of observable market data when available in determining fair value, is comprised of:&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 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 obligations under employee deferred compensation plan and listed equity securities for all periods presented, use Level 1 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 12pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_PumD5lTH2kCXLP_PUYW26g">&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;(ai)&#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 12pt 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 12pt 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. The Company classifies the cash flows related to realized gain or loss on settlement of derivatives as operating activities, which are based on the nature of the cash flows the derivative is economically hedging.&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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_iiFB9jkT7keJRSKJJX87Ng">&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;(aj)&#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. The dilutive effect of outstanding share-based awards is reflected by application of the treasury stock method and convertible notes by application of the if-converted method, as applicable. 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_7Y-P-ZLJ_k6CNnTUyaeISA">&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;(ak)&#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 restricted share units (&#x201c;RSUs&#x201d;) and share options 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. The Company allocated share-based compensation expenses to cost of revenues, selling and distribution expenses, general and administrative expenses and research and development expenses on its consolidated statements of operations, depending on the job functions of the individuals to whom we granted the restricted share units.&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 Company&#x2019;s subsidiary, CSI Solar, approved the CSI Solar employee incentive plan. Determination of estimated fair value of the Company&#x2019;s subsidiary before public listing requires complex and subjective judgments due to its limited financial and operating history, unique business risks and limited public information on companies that are similar to the Company&#x2019;s subsidiary. The Company estimated CSI Solar&#x2019;s enterprise value for purposes of recording share-based compensation, and the information considered by the Company mainly includes but is not limited to future cash flow forecasts, discount rates, and liquidity factors.&lt;/p&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <csiq:UnusualOrInfrequentItemPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_smhIVVrpFESm5t7tYkuZ2w">&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;(al)&#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 12pt 0pt;"&gt;Over the past three years, the COVID-19 pandemic posed significant challenges to many aspects of the Company&#x2019;s business, including its operations, customers, suppliers and projects. On May 5, 2023, the World Health Organization announced that COVID-19 was no longer a public health emergency.&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 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_1-4OMlbUn0af9J77TKyaCQ">&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;(am)&#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 12pt 0pt;"&gt;In March 2020, the FASB issued ASU No. 2020-04, Reference Rate Reform (Topic 848), 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. As of December 31, 2023, the Company no longer had any LIBOR debts. The adoption of this new standard did not have a material impact on the Company&#x2019;s consolidated financial statements, as all of the Company&#x2019;s previous LIBOR debt agreements contemplated a change to the Secured Overnight Financing Rate (SOFR) as the reference rate upon discontinuance of LIBOR.&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 new standard was effective for the Company beginning January 1, 2023. 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;"&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 adopted provisions of this ASU beginning January 1, 2023, with the exception of the amendment on rollforward information, which was adopted in January 1, 2024. Adoption of the 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;"&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;In March 2023, the FASB issued ASU No. 2023 - 01, Leases (Topic 842): Common Control Arrangements, which requires leasehold improvements associated with common control leases to be amortized over the useful life to the common control group. The new standard 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;&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;In November 2023, the FASB issued ASU No. 2023 - 07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures, which improves reportable segment disclosure requirements, primarily through enhanced disclosures about significant segment expenses. The new standard is effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024. The Company is currently evaluating the impact of adopting this new guidance on disclosures in 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;"&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;In December 2023, the FASB issued ASU No. 2023 - 09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires disclosure of specific categories in the income tax rate reconciliation, and additional information for reconciling items that meet a quantitative threshold disaggregated by nature and jurisdiction. The new standard is effective for fiscal years beginning after December 15, 2024. 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:AllowanceForCreditLossesTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_tB3vDbQr4E6saTurJZ7KpA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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, warranty insurance receivable and other receivable. Warranty insurance receivable was included as a component of other non - current assets. Other receivable was 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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12.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:2.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:12.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;/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;2022&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;2023&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; 1,020,880&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; 961,745&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; (49,930)&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; (56,802)&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; 970,950&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; 904,943&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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12.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:2.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:12.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;/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;2022&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;2023&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; 320,211&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; 328,460&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; (1,375)&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; (2,424)&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; 318,836&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; 326,036&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;Warranty insurance 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;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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: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.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:11.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.58%;margin:0pt;padding:0pt;"&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: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;At&#160;December&#160;31,&lt;/b&gt;&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;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:11.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;At&#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:70.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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.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;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:11.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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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="font-size:8pt;font-weight: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%;margin:0pt;padding:0pt;"&gt;&lt;p 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.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="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:11.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Warranty insurance receivable, gross&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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 84,474&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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 84,035&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.85%;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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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%;border-bottom:1px solid #000000;margin:0pt;padding: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.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="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.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; (1,300)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Warranty insurance receivable, net&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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 84,474&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="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.98%;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; 82,735&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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12.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:2.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:12.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;/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;2022&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;2023&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; 129,195&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; 145,376&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,999)&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; (11,878)&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; 119,196&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; 133,498&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;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;3.&#160;ALLOWANCE FOR CREDIT LOSSES &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;The following table presents the change in the allowances for credit losses related to the Company&#x2019;s accounts receivable trade, advances to suppliers, warranty insurance receivable and other receivable:&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:67.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: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:13.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: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:16.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.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:1.48%;margin:0pt;padding:0pt;"&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: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;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.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;Advances to &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.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: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 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;font-weight: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;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.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;Suppliers, Warranty &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.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: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 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: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;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.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;Insurance Receivable and&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.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: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 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: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 style="vertical-align:bottom;white-space:nowrap;width:16.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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 Receivable&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.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: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;&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: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;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.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;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.32%;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, 2020&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="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; 40,293&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="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;background:#cceeff;margin:0pt;padding: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:67.32%;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: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-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; 7,171&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-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;margin:0pt;padding: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:67.32%;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;Write-offs&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="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;"&gt; (197)&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="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;background:#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; (53)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.32%;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: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-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;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:10pt;text-align:right;margin:0pt;"&gt; (141)&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-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;border-bottom:1px solid #000000;margin:0pt;padding: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:67.32%;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, 2021&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="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; 47,126&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="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;background:#cceeff;margin:0pt;padding: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:67.32%;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: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-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; 4,349&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-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;margin:0pt;padding: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:67.32%;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;Write-offs&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="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;"&gt; (109)&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="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;background:#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; (18,295)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.32%;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: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-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;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: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: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-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;border-bottom:1px solid #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:67.32%;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, 2022&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: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; 49,930&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:16.29%;background:#cceeff;margin:0pt;padding: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;tr&gt;&lt;td style="vertical-align:bottom;width:67.32%;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: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: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; 7,381&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:16.29%;margin:0pt;padding: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,633&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.32%;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;Write-offs&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: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;"&gt; (2,073)&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:16.29%;background:#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; (242)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.32%;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: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:13.41%;border-bottom:1px solid #000000;margin:0pt;padding: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,564&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:16.29%;border-bottom:1px solid #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; (163)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.32%;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, 2023&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:13.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,802&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:16.29%;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; 15,602&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 0pt 6pt 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_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-JIwAFK1sE-l7QWbJVZm0Q"
      id="Tb_eK3DNimN40GSyEsoC3VGow">&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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12.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:2.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:12.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;/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;2022&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;2023&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; 1,020,880&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; 961,745&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; (49,930)&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; (56,802)&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; 970,950&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; 904,943&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_yEE94TbUCU2nZBmasmgreg"
      decimals="-3"
      id="Tc_vAZSUq-1iE-54LnqMWXmvw_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1020880000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_1gZwKsyZ3EaG0jinRQY_DA"
      decimals="-3"
      id="Tc_CF4EWQXNJUSTHJr55YU0Dw_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">961745000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_yEE94TbUCU2nZBmasmgreg"
      decimals="-3"
      id="Tc_5BiGNCiJk0iaiN7P8m57_A_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">49930000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_1gZwKsyZ3EaG0jinRQY_DA"
      decimals="-3"
      id="Tc_FKBRPPjZxE2wFX5TM029yQ_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">56802000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_yEE94TbUCU2nZBmasmgreg"
      decimals="-3"
      id="Tc__miBuWXXH061Gwm4amMP0Q_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">970950000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_1gZwKsyZ3EaG0jinRQY_DA"
      decimals="-3"
      id="Tc_ja-h3yw9i0KZsTxNzAPSrw_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">904943000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_W-Yhr5JE9k2y2Wuqvia04A"
      id="Tb_0C2H9aPYUEiFMoH9x8PJOw">&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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12.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:2.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:12.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;/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;2022&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;2023&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; 320,211&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; 328,460&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; (1,375)&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; (2,424)&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; 318,836&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; 326,036&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_jd0QyzdA50CZFkCUzpH9yw"
      decimals="-3"
      id="Tc_CVJH_7jK00KA7Jjt8zVsrw_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">320211000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BW2AAeR4KU6QskdgDlsvWA"
      decimals="-3"
      id="Tc_V8rGmjdoLkGy08CNbi4TEg_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">328460000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_jd0QyzdA50CZFkCUzpH9yw"
      decimals="-3"
      id="Tc_B8lJdqLVbkOn49hpPVaLSg_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1375000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BW2AAeR4KU6QskdgDlsvWA"
      decimals="-3"
      id="Tc_kr9JTC79hke2RlhVWIZGeA_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2424000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_jd0QyzdA50CZFkCUzpH9yw"
      decimals="-3"
      id="Tc_jBhiYxsga0qlyS6ohiWAeg_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">318836000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForAdvancesToSuppliersMember_BW2AAeR4KU6QskdgDlsvWA"
      decimals="-3"
      id="Tc_ZBK3KSGcpEGu2D5NJ5Gaew_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">326036000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_c0YjJjRLT0Ox2I3zJJTv7g"
      id="Tb_pti7VoJr7EytGQvEIMrUkg">&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;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:70.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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: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.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:11.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.58%;margin:0pt;padding:0pt;"&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: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;At&#160;December&#160;31,&lt;/b&gt;&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;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:11.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;At&#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:70.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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.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;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:11.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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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="font-size:8pt;font-weight: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%;margin:0pt;padding:0pt;"&gt;&lt;p 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.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="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:11.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Warranty insurance receivable, gross&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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 84,474&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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.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; 84,035&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.85%;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.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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%;border-bottom:1px solid #000000;margin:0pt;padding: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.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="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.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; (1,300)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:70.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Warranty insurance receivable, net&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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width: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; 84,474&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="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.98%;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; 82,735&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_pOre9Y4VL0WcNPsPmUbEbg"
      decimals="-3"
      id="Tc_vVGmQyXrx0CKRdQxj4LD2g_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">84474000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_JrebpY3Ng0GBDMmCn3hgvQ"
      decimals="-3"
      id="Tc_FpnMLkeHV0qoH2DbjwPVaw_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">84035000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_JrebpY3Ng0GBDMmCn3hgvQ"
      decimals="-3"
      id="Tc_aLSVg_X1t0SOTL32befP4w_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1300000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_pOre9Y4VL0WcNPsPmUbEbg"
      decimals="-3"
      id="Tc_03figRGw_UG0tIhEc1N2tg_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">84474000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForWarrantyInsuranceReceivableMember_JrebpY3Ng0GBDMmCn3hgvQ"
      decimals="-3"
      id="Tc_Jum2e2DAF0qquYRztwl6JA_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">82735000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_kW6atqiP10yTYE7-3NFDMA"
      id="Tb_oLBqqkauo0uaRvaORuzq0A">&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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:12.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:2.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:12.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;/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;2022&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;2023&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; 129,195&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; 145,376&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,999)&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; (11,878)&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; 119,196&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; 133,498&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_48LFhpGB3k6ebscKyuVMEg"
      decimals="-3"
      id="Tc_XVDQCZHwvkScvyMWI-zc5w_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">129195000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_WFVK4PjiUkehmFo9yBl1zw"
      decimals="-3"
      id="Tc_fhDCnncp_UaPvpd4NSAdXg_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">145376000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_48LFhpGB3k6ebscKyuVMEg"
      decimals="-3"
      id="Tc_R-jytyZbZU-k0wt2khtk_Q_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9999000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_WFVK4PjiUkehmFo9yBl1zw"
      decimals="-3"
      id="Tc_1iglowcI4U2z2A6-wEdqFw_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11878000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_48LFhpGB3k6ebscKyuVMEg"
      decimals="-3"
      id="Tc_sPvUPFMS0EiYJ9JNczkXXA_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">119196000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AllowanceForOtherReceivablesMember_WFVK4PjiUkehmFo9yBl1zw"
      decimals="-3"
      id="Tc_aD8RSHasAUOtGy6ZqPGOcQ_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">133498000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_BISNY8J2QEez05ULKtKcDA">&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:67.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: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:13.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: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:16.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.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:1.48%;margin:0pt;padding:0pt;"&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: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;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.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;Advances to &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.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: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 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;font-weight: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;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.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;Suppliers, Warranty &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.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: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 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: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;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.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;Insurance Receivable and&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.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: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 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: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 style="vertical-align:bottom;white-space:nowrap;width:16.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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 Receivable&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.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: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;&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: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;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.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;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.32%;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, 2020&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="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; 40,293&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="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;background:#cceeff;margin:0pt;padding: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:67.32%;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: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-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; 7,171&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-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;margin:0pt;padding: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:67.32%;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;Write-offs&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="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;"&gt; (197)&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="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;background:#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; (53)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.32%;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: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-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;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:10pt;text-align:right;margin:0pt;"&gt; (141)&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-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;border-bottom:1px solid #000000;margin:0pt;padding: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:67.32%;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, 2021&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="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; 47,126&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="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;background:#cceeff;margin:0pt;padding: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:67.32%;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: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-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; 4,349&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-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;margin:0pt;padding: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:67.32%;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;Write-offs&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="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;"&gt; (109)&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="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;background:#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; (18,295)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.32%;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: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-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;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: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: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-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;width:16.29%;border-bottom:1px solid #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:67.32%;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, 2022&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: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; 49,930&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:16.29%;background:#cceeff;margin:0pt;padding: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;tr&gt;&lt;td style="vertical-align:bottom;width:67.32%;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: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: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; 7,381&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:16.29%;margin:0pt;padding: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,633&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.32%;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;Write-offs&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: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;"&gt; (2,073)&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:16.29%;background:#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; (242)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.32%;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: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:13.41%;border-bottom:1px solid #000000;margin:0pt;padding: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,564&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:16.29%;border-bottom:1px solid #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; (163)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.32%;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, 2023&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:13.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;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 56,802&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:16.29%;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; 15,602&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 0pt 6pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember__ov5GIt1OkCvBF3uklbrvQ"
      decimals="-3"
      id="Tc_TunV-tPr2ESgfTpWdzUVHQ_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">40293000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_JdFkQ9ASwEyf2JZmmBuj4w"
      decimals="-3"
      id="Tc_rFBjc0gdSkSh-xGrxDcEXA_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">28502000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TGFcEY97TE-bl6CLoJeN5Q"
      decimals="-3"
      id="Tc_D8gK4SPYz0uVuWjGUBZvgQ_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7171000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_lAlFL7qZVk--eyObKSKxMw"
      decimals="-3"
      id="Tc_WpJ_kVb_5kGdyO_rAiDcNg_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">444000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TGFcEY97TE-bl6CLoJeN5Q"
      decimals="-3"
      id="Tc_n3tYuhuGZEyVW8QCG8Ktfw_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">197000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_lAlFL7qZVk--eyObKSKxMw"
      decimals="-3"
      id="Tc_Bxneg4Tc90qNMUhLKED8xw_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">53000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_TGFcEY97TE-bl6CLoJeN5Q"
      decimals="-3"
      id="Tc_IUtMVmjhmUeQOkpdwDh2cA_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-141000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_lAlFL7qZVk--eyObKSKxMw"
      decimals="-3"
      id="Tc_GDcR6x78T0qqOBQV5Hq7TA_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">186000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_Uy050kVvI0akX6ztbcxXZg"
      decimals="-3"
      id="Tc_2KcyGq89wU2TOM0q-aLI8g_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">47126000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_QGV9ahgsc0KlyxnGyij7zA"
      decimals="-3"
      id="Tc_YLAKC0r-vUqjVPBHLnqxxw_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">29079000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_k8qosnusTUKRgY6QCXEPDw"
      decimals="-3"
      id="Tc_7oIUkk-hsk6nkLWPxUKh8Q_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4349000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_YLrUcr9OskmJG0yrxpz0oQ"
      decimals="-3"
      id="Tc_2g80_UQPhkeoegagLsCtnQ_11_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1424000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_k8qosnusTUKRgY6QCXEPDw"
      decimals="-3"
      id="Tc_xFPc9yj8Bkq8oxRXpzYMmQ_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">109000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_YLrUcr9OskmJG0yrxpz0oQ"
      decimals="-3"
      id="Tc_6wSH8eWlXEysQhfRgLSdIw_12_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">18295000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_k8qosnusTUKRgY6QCXEPDw"
      decimals="-3"
      id="Tc_Vp_GlwWL5EC6T3HVjqxAQw_13_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1436000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_YLrUcr9OskmJG0yrxpz0oQ"
      decimals="-3"
      id="Tc_4VOZ2QFk-kinlpYn0AIfGQ_13_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-834000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_yEE94TbUCU2nZBmasmgreg"
      decimals="-3"
      id="Tc_rZV3TBd5XkWJIMrwejGxdw_14_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">49930000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_DsCOJW4RtkiFbD1im4-Khg"
      decimals="-3"
      id="Tc_my9kjnWuyEq0tws2I9DNxA_14_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11374000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-JIwAFK1sE-l7QWbJVZm0Q"
      decimals="-3"
      id="Tc_9eW8HGajb0mgxQ1MtHVYLw_15_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7381000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_Xfdf3ZJMwU6lRJ2EbRJaDA"
      decimals="-3"
      id="Tc_UxLoRZwU3kSdUbPkSQHOiw_15_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4633000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-JIwAFK1sE-l7QWbJVZm0Q"
      decimals="-3"
      id="Tc_l73-avWa0k-Xf5g3Xmhvjw_16_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2073000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <us-gaap:ValuationAllowancesAndReservesDeductions
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_Xfdf3ZJMwU6lRJ2EbRJaDA"
      decimals="-3"
      id="Tc_d6FV8np1TESs4XZGeioltw_16_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">242000</us-gaap:ValuationAllowancesAndReservesDeductions>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_-JIwAFK1sE-l7QWbJVZm0Q"
      decimals="-3"
      id="Tc_RbPsjpv8EEqrlgYlKrrvHw_17_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1564000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_Xfdf3ZJMwU6lRJ2EbRJaDA"
      decimals="-3"
      id="Tc__1hPQ0al7ESqIzBQNNlFhg_17_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-163000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_AllowanceForCreditLossMember_1gZwKsyZ3EaG0jinRQY_DA"
      decimals="-3"
      id="Tc_avYucC1jOk-L6q0Ocrquiw_18_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">56802000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_csiq_AdvancesToSuppliersWarrantyInsuranceReceivableAndOtherReceivableMember_1kP2c3aT2Eio_d0_AjFRxg"
      decimals="-3"
      id="Tc_J2u6ujQrPk2M_06f5iY3zQ_18_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15602000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_IJ3w1w2klUSc_TFVxJ5jGg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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.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.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.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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.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.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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.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;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.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.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.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.5%;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; 310,394&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 222,826&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 265,109&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 139,116&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 948,592&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 817,699&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.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.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,524,095&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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,179,641&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 $161,138 and $112,440 as of December 31, 2022 and 2023, 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 (&#x201c;IRS&#x201d;) 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 2021, 2022 and 2023, inventory was written down by $14,070, $7,475 and $113,079, respectively, to reflect the lower of cost and net realizable value.&lt;/p&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_ILwAJOvwXEeDL8nG5fsZLg">&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.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.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.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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.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.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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.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;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.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.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.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.5%;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; 310,394&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 222,826&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 265,109&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 139,116&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 948,592&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 817,699&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.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.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,524,095&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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,179,641&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_AGvxOU01lEme9_0fD1UMSQ_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">310394000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_SYdSiqltTUKVuFwYq9z-jg_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">222826000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_2BOblDFQQUeCAyYTlm_YUA_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">265109000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_vlLMPAcT4E-v1z4ePac6FA_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">139116000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_HVa7A9b5KkCEZJBlRPhU_w_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">948592000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_7fwFYqVFD0u0PZUAZ7G3kg_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">817699000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_lGhPEmp_q0qCENqG_U5NrQ_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1524095000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_pJ_0q9CJPECeOhE9CXbLUg_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1179641000</us-gaap:InventoryNet>
    <csiq:FinishedGoodsModules
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Narr_CqGCc4fxIkCBKJe1jSL35g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">161138000</csiq:FinishedGoodsModules>
    <csiq:FinishedGoodsModules
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_92ps6EcoPUeiaLuz6tlhDg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">112440000</csiq:FinishedGoodsModules>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Narr_IY9uH-88OE2OkcAoH-jlqw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.05</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_buduf7slD0SkAwlAvVfGhQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14070000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_rC3FFnBXnkS-n7M_eH51pQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7475000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_1sqmtyXSn0KywS-mwkaMCw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">113079000</us-gaap:InventoryWriteDown>
    <csiq:ProjectAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_nPvlvMi_pEW9w8HVeUogHA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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:72.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.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:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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.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;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: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;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.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: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;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.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.37%;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;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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.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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.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.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;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: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.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;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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.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.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="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: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; 444,858&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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: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; 651,920&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.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.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="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:11.36%;border-bottom:1px solid #000000;margin:0pt;padding: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;td style="vertical-align:bottom;white-space:nowrap;width:2.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="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:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 205,666&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.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.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="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:11.36%;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;td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.36%;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; 857,586&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.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.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="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: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; 385,964&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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="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; 280,793&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.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.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="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: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; 438,529&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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: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; 576,793&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 $17,152, $1,674 and $16,239 for the years ended December 31, 2021, 2022 and 2023, respectively. Interest capitalized during development and construction of project assets was $17,316, $26,439 and $27,676 for the years ended December 31, 2021, 2022 and 2023, respectively.&lt;/p&gt;</csiq:ProjectAssetsDisclosureTextBlock>
    <csiq:ScheduleOfProjectAssetsTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_v_wtbEUzqk6XtiEw8DzECw">&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.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.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:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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.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;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: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;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.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: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;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.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.37%;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;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;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.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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.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.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;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: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.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;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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.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.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="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: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; 444,858&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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: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; 651,920&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.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.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="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:11.36%;border-bottom:1px solid #000000;margin:0pt;padding: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;td style="vertical-align:bottom;white-space:nowrap;width:2.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="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:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 205,666&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.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.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="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:11.36%;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;td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.36%;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; 857,586&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.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.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="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: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; 385,964&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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="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; 280,793&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.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.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="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: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; 438,529&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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: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; 576,793&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfProjectAssetsTableTextBlock>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_jok9yvP97kq1FkdVkVUzDA_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">444858000</csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_qiCRlbhwVkeEswixGEqauw_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">651920000</csiq:ProjectAssetsPlantsAndLandCapitalizedDevelopmentCosts>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_wQsbv2PgYEGk0mMZ0Fcauw_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">379635000</csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost>
    <csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_miuuK-a40k2uEhV1NhzDwA_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">205666000</csiq:ProjectAssetsPlantsAndLandCapitalizedEPCAndOtherCost>
    <csiq:ProjectAssetsPlantsAndLand
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_kUHJxqGT-k2WCJZprs6PLQ_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">824493000</csiq:ProjectAssetsPlantsAndLand>
    <csiq:ProjectAssetsPlantsAndLand
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_4vDFSjRDPUGpg-Kz6Nx1qg_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">857586000</csiq:ProjectAssetsPlantsAndLand>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_GApON8EUXUC_yaFfdnJJ1g_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">385964000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandCurrentPortion
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_yN-XFuAOmkeEksvBtQOdIg_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">280793000</csiq:ProjectAssetsPlantsAndLandCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_9-7SExDZ4UCx7p1hG8eV5Q_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">438529000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <csiq:ProjectAssetsPlantsAndLandNonCurrentPortion
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_uVFFzFpZCEKLniXLo03mEQ_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">576793000</csiq:ProjectAssetsPlantsAndLandNonCurrentPortion>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_k5n1RLlK5EuWgGQn7r5KJg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17152000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_o5n6v4dcPEa-KvM4lyYo5Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1674000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_frloTHApU0SCIu6ztAaqjg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">16239000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_hbHgRDP0QkmGyoz157cNAQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17316000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_92i3WZ0FHEq2ps77bnTFmg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">26439000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_pK3T5b8r-0O3A4JibJ1wXA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">27676000</csiq:InterestCostsCapitalizedProjectAssets>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_bO3nPLFdUkS-NNoAwW4tKQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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;2022&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;2023&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; 764,577&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; 978,924&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; 30,896&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; 44,275&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,470,957&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,213,281&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; 58,928&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; 178,455&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; 11,527&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; 14,768&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; 39,285&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; 45,397&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,376,170&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; 3,475,100&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; (908,888)&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; (1,061,281)&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;margin:0pt;padding: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;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,413,819&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 progress&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; 359,361&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; 674,623&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,826,643&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; 3,088,442&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 $266,956, $225,351 and $287,130 for the years ended December 31, 2021, 2022 and 2023, respectively. Construction in progress primarily represents production facilities under construction and the machinery under installation. &lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_WiHPIDUuAUesQKj-w_f-Zw">&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;2022&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;2023&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; 764,577&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; 978,924&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; 30,896&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; 44,275&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,470,957&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,213,281&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; 58,928&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; 178,455&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; 11,527&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; 14,768&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; 39,285&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; 45,397&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,376,170&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; 3,475,100&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; (908,888)&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; (1,061,281)&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;margin:0pt;padding: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;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,413,819&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 progress&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; 359,361&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; 674,623&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,826,643&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; 3,088,442&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfPropertyPlantAndEquipmentComponentsTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_Y1awMXKJeUmT1wILh8pDnw"
      decimals="-3"
      id="Tc_VtvNBH--hUC97GKhwxxWqw_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">764577000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_BuildingMember_wtfWg7k9uUmNEVCyI3h5kA"
      decimals="-3"
      id="Tc_nuItfNrbTEqGcns_64LDVA_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">978924000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_sXsDq7DIH0S5adk3_76X_Q"
      decimals="-3"
      id="Tc_N_R4y3-yZE6ZG1IuZdCWEQ_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">30896000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_WonKcJH7yEmYXYTj_BUdbQ"
      decimals="-3"
      id="Tc_YDsRvFirqUm5U-_m5aNHQA_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">44275000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_tiYVyUz1T0Ci1pJ6OnSkKw"
      decimals="-3"
      id="Tc_qi_dnYF-5Ue5nsyR36SqEA_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1470957000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_MachineryAndEquipmentMember_jz36dlyawUSrbF1tPKL0nA"
      decimals="-3"
      id="Tc_i0wafzh4CEih7HT0hAwIqQ_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2213281000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_gjN-gOlJV0mNQhr44tlUDA"
      decimals="-3"
      id="Tc_iWlzSgP8TkeKWfVVkdrKag_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">58928000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_b7KOkC-sckKDHZFW9sLHug"
      decimals="-3"
      id="Tc_NYOwFECk8EGDd6bXf8QvEw_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">178455000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_83EDoEjfMEWoemV3OxIMgA"
      decimals="-3"
      id="Tc_MLSd6t0wT0yipkJjfRc_VQ_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11527000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_VehiclesMember_fV2OfmeUM0CyXcr4zR9vaA"
      decimals="-3"
      id="Tc_fV0gn0MWBU-7sShXbDlIQw_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14768000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember_ZbxkqhH5eUmv5-pHCQc7YQ"
      decimals="-3"
      id="Tc_1ToVjRZwak29iwfBaAYgPw_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">39285000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LandMember__0Lfb22S3UKjdmcjEn-WXg"
      decimals="-3"
      id="Tc_EW0h6JPbtUm1p7xL6xiPCA_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">45397000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_F8ekioXLFUi306DIZZU07Q_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2376170000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_6SCQUqLdgECmn2R0RkHjMg_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3475100000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_kDLjmxnZ1kGxg2dR8LaE_g_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">908888000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_Sp8CC3AUhE6eTQZonVQ5Aw_11_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1061281000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_NMQ39bSthE-ufRsBaJ5krw_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1467282000</csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet>
    <csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_0unc2Dvb4kqxBiVnLr5eVg_12_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2413819000</csiq:PropertyPlantAndEquipmentExcludingConstructionInProgressNet>
    <us-gaap:ConstructionInProgressGross
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_RcMqS2IogUSJXcRcKw0Swg_13_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">359361000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_VVcGQDJVb0Gs96UU5EsL4w_13_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">674623000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_U62LM65WhEGJt5csHeJZ2g_14_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1826643000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_njJNfm_aZk6AkjVQbPbJ4Q_14_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3088442000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_i7Va35_hQE6ShnLVUNHkFw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">266956000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_PcBHwqnEk0Obv1IQIEPUtA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">225351000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_qmAZK--kR0OvUMXftv5O9w"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">287130000</us-gaap:Depreciation>
    <csiq:SolarPowerSystemsTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_fIrIC-z_WUWxn6aF-FqPxw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;margin:0pt;padding: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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;margin:0pt;padding: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;2022&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.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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;margin:0pt;padding: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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;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; 172,707&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; 532,833&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;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; 209,200&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; 450,339&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 381,907&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; 983,172&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;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; (17,091)&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; (31,659)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;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; 364,816&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; 951,513&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 nil, $263,710 and $119,067 to solar power systems during the years ended December 31, 2021, 2022 and 2023, respectively. The Company intends to operate the project assets for the purpose of generating income from the sale 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 $11,212, $4,074 and $14,266 for the years ended December 31, 2021, 2022 and 2023, respectively. Interest capitalized during development and construction of solar power systems, net was nil, $18,666 and $33,097 for the years ended December 31, 2021, 2022 and 2023, respectively.&lt;/p&gt;</csiq:SolarPowerSystemsTextBlock>
    <csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_a72GUuYW2kSPCLUKCfUqww">&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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;margin:0pt;padding: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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;margin:0pt;padding: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;2022&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.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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;margin:0pt;padding: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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;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; 172,707&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; 532,833&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;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; 209,200&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; 450,339&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 381,907&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; 983,172&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;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; (17,091)&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; (31,659)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.85%;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; 364,816&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; 951,513&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:ScheduleOfSolarPowerSystemsComponentsTableTextBlock>
    <csiq:SolarPowerSystemsGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_4PWKnuoV0kGiCMlVoEY7aA"
      decimals="-3"
      id="Tc_olGTi42NpEyKM1dxryvjQg_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">172707000</csiq:SolarPowerSystemsGross>
    <csiq:SolarPowerSystemsGross
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_yb_kL1iU1k-wrSNtM8seww"
      decimals="-3"
      id="Tc_bHTVbmnkS0KN2hYv5FLHtQ_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">532833000</csiq:SolarPowerSystemsGross>
    <csiq:SolarPowerSystemsGross
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_zQLdhKIFakixbge6xtWm9Q"
      decimals="-3"
      id="Tc_2PSCWCnEr0CKeLg8F7oq5g_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">209200000</csiq:SolarPowerSystemsGross>
    <csiq:SolarPowerSystemsGross
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_AssetUnderConstructionMember_swoTaHoX6EGEzalUS79WRw"
      decimals="-3"
      id="Tc_73ajeF08GEyTPDHMuyX8mg_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">450339000</csiq:SolarPowerSystemsGross>
    <csiq:SolarPowerSystemsGross
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_TwN4CRO0o0ON6HbxFhqwgA_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">381907000</csiq:SolarPowerSystemsGross>
    <csiq:SolarPowerSystemsGross
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_Vir94L3JIkeufVMaYLV5Cw_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">983172000</csiq:SolarPowerSystemsGross>
    <csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_R99dIzShakCjIheE7bLRQA_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17091000</csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems>
    <csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_7N2dcxkwBUS_yddq_53pUw_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">31659000</csiq:AccumulatedDepreciationDepletionAndAmortizationSolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_xGIACbxtmUujNwhj4UEWvA_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">364816000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystems
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_K6uvrpXpLkuMkZKFUdKHpg_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">951513000</csiq:SolarPowerSystems>
    <csiq:SolarPowerSystemsReclassifiedToProjectAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_dhkYgcU4P0aEkKMPIRVwOA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">0</csiq:SolarPowerSystemsReclassifiedToProjectAssets>
    <csiq:SolarPowerSystemsReclassifiedToProjectAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_LJn-BT1ZbkWEfLm7lPIH6w"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">263710000</csiq:SolarPowerSystemsReclassifiedToProjectAssets>
    <csiq:SolarPowerSystemsReclassifiedToProjectAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_tkroMFlUhEu2kCmN0D_HsA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">119067000</csiq:SolarPowerSystemsReclassifiedToProjectAssets>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_jVleGxNTaEaCqHVD0u9OeA"
      decimals="-3"
      id="Narr_MO-XmKDjWU2MU6AIyQhRqw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11212000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_MbBYQbz7AUi28RqcQGV-xA"
      decimals="-3"
      id="Narr_c8slNHuLA0K3N-NUI0VoZA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4074000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ElectricGenerationEquipmentMember_-eG67TvEvk-tG_zgh9qhuA"
      decimals="-3"
      id="Narr_SlqFJGbq50ucnb5r0-3UCw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14266000</us-gaap:Depreciation>
    <csiq:InterestCostsCapitalizedSolarPowerSystemNet
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_sSB1cWsPfkK9Orao84NViA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">0</csiq:InterestCostsCapitalizedSolarPowerSystemNet>
    <csiq:InterestCostsCapitalizedSolarPowerSystemNet
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_JicP2laFEUiyfV0cO3kaqA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">18666000</csiq:InterestCostsCapitalizedSolarPowerSystemNet>
    <csiq:InterestCostsCapitalizedSolarPowerSystemNet
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_59eq_0RkBUSKkYOXq8RkrQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">33097000</csiq:InterestCostsCapitalizedSolarPowerSystemNet>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_EfREj8TIME6WSN_1PXyM8w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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, 2023&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;Computer software &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,898&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (23,820)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,078&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;Customer-related intangible 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: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; 3,647&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (478)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,169&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;Trademark&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 2,533&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; (53)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 2,480&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;Total intangible assets, 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:3px double #000000;margin:0pt;padding: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,078&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; (24,351)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 19,727&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, 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;&#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,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;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Amortization expense for the years ended December 31, 2021, 2022 and 2023 were $4,601, $3,586 and $3,793, respectively.&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;Amortization expenses of the above intangible assets are expected to be approximately $3,532, $3,066, $2,821, $2,669, $2,597 and $5,042 for the years ending December&#160;31, 2024, 2025, 2026, 2027, 2028 and thereafter, respectively.&lt;/p&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_-uWMSa1c4Ua3ampN-MZ9zw">&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, 2023&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;Computer software &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,898&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (23,820)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,078&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;Customer-related intangible 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: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; 3,647&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (478)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,169&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;Trademark&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 2,533&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; (53)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 2,480&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;Total intangible assets, 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:3px double #000000;margin:0pt;padding: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,078&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; (24,351)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 19,727&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, 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;&#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,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;</csiq:ScheduleOfCarryingValueOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_zkCj-y1m90mgrEOzcYswew"
      decimals="-3"
      id="Tc_jozki3LGsE6INyJr9sHx3A_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">37898000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_zkCj-y1m90mgrEOzcYswew"
      decimals="-3"
      id="Tc_J2nmfnJGLkC7QwLY2-p2IA_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">23820000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_zkCj-y1m90mgrEOzcYswew"
      decimals="-3"
      id="Tc_wLpMGEG2Vk-6a8fHf2YyXw_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14078000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_LlqIDPLdakywe9xwvaVQog"
      decimals="-3"
      id="Tc_2Z-SZ3Ny30WYsLQx3CapIw_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3647000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_LlqIDPLdakywe9xwvaVQog"
      decimals="-3"
      id="Tc_ZdsZeOwEMU6UKzESZ1dLog_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">478000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelatedIntangibleAssetsMember_LlqIDPLdakywe9xwvaVQog"
      decimals="-3"
      id="Tc_p49tzdhMaE6k2oWzYQfYiA_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3169000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksMember__NjWXWYwfU-DynV03dcxiA"
      decimals="-3"
      id="Tc_i4n0tx_20EyG030ZOMSX-w_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2533000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksMember__NjWXWYwfU-DynV03dcxiA"
      decimals="-3"
      id="Tc_FoQqabNBSE65nA_Adn6xSw_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">53000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksMember__NjWXWYwfU-DynV03dcxiA"
      decimals="-3"
      id="Tc_rO2G2mjsxkur73jPnlYiRg_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2480000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_Qt26GBe2zEmcHWnRChg3bA_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">44078000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_prQOMIRJhkWTK8MDOVXDxw_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">24351000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_Mo19uyuE-kWHicFvz3jGdA_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">19727000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_JZHSTzHb_UminUM8eVdarA"
      decimals="-3"
      id="Tc_4rLh_akyMUC6C1Qq5oM34g_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1443000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_JZHSTzHb_UminUM8eVdarA"
      decimals="-3"
      id="Tc_DfhJbXafvkO2EBGV7Pvb0g_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1430000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_JZHSTzHb_UminUM8eVdarA"
      decimals="-3"
      id="Tc_EB4oTj--30uhrIdsO1Uxwg_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">13000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_5vS7u78k_0WdE2U97lKp9w"
      decimals="-3"
      id="Tc_a0gP667CkUSp3Ky8ioRtrQ_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">37648000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_5vS7u78k_0WdE2U97lKp9w"
      decimals="-3"
      id="Tc_ieFiqgzPAkGkMLQ34HqSUA_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">20131000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_5vS7u78k_0WdE2U97lKp9w"
      decimals="-3"
      id="Tc_HZrJdKfdV0SuE-A9qlIKpw_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17517000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_UQ1zw-50m0K5DCNHUASsJA_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">39091000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_RW840ezp7UuIcbCXk7cfKA_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">21561000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_MgL0rFT6tUar7NTHd-ihUw_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17530000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_lTh1PDeQJUqhDpBHbWrhkA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4601000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_DmAb5xWDSEOzt5NscSIa4A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3586000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_gBhO3ERhvkiIh6jhktDObQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3793000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_XhKyklhNLEmRA63C98hTTg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3532000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_ysQ7v16koE2fcrg-oFRf0Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3066000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_3utP075P20OaI-mWvRZU7w"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2821000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_H1IKnaiE3UKc477QLmh8qw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2669000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr___QfjWxhZkyRcJMhY1isbw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2597000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_7D6JgtfExkWHxDPYMjJiPg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5042000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_YRvESIPL90ejeFwlJ4560A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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;margin:0pt 0pt 12pt 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 12pt 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, Japanese Yen 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 0pt 12pt 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 12pt 0pt;"&gt;In 2022 and 2023, 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 12pt 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, 2022 and 2023 and the effect of derivative instruments on the consolidated statements of operations for the years ended December 31, 2021, 2022 and 2023 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.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.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.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:32.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="font-size:8pt;font-weight: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.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.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="font-size:8pt;font-weight: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, 2022&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.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, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.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="font-size:8pt;font-weight: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.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:32.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="font-size:8pt;font-weight: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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.73%;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,730&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.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; 9,282&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.73%;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; 9,576&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.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;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.73%;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; 210&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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.73%;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; 1,064&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.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; 387&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.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-size: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; 18,580&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.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; 9,669&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.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.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.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:32.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="font-size:8pt;font-weight: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.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.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="font-size:8pt;font-weight: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, 2022&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.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, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.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="font-size:8pt;font-weight: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.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:32.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="font-size:8pt;font-weight: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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;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; 24,104&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.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; 6,702&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;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%;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;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.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; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Interest rate swap&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;Other non-current liabilities&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;border-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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;Other non-current liabilities&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;border-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; 801&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.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="font-size: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%;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%;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%;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%;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;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;span 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%;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%;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%;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,503&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 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;9. FAIR VALUE MEASUREMENT (Continued)&lt;/b&gt;&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;Interest rate swap and commodity hedge (Continued)&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;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.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;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;2023&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; 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.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;"&gt; (49,388)&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; (38,241)&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; 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.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; 8,918&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; 10,712&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;border-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; 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.25%;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; (4,019)&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;border-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; 25&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;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;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;Total&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;span style="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: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: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%;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%;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:8pt;text-align:right;margin:0pt;"&gt; (44,489)&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;span style="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: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:8pt;text-align:right;margin:0pt;"&gt; (27,504)&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 12pt 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 0pt 12pt 0pt;"&gt;In 2020, the Company received shares of Suzhou Good-Ark Electronics Co., Ltd (&#x201c;Good-Ark&#x201d;), listed on Shenzhen stock exchange, for the disposal of its ownership of Suzhou iSilver Materials Co., Ltd as part of the consideration. These shares were carried at fair value of $18,337 and $15,190 as of December 31, 2022 and 2023, respectively, included as a component of Prepaid expenses and other current assets. Fair value gain on these shares of $4,744 was recorded under investment income in the consolidated statements of operations for the year ended December 31, 2021, and fair value losses of $418 and $2,826 were recorded for the years ended December 31, 2022 and 2023 under investment income, net, respectively, in the consolidated statements of operations. The fair values of Good-Ark were measured based on quoted prices on the Shenzhen stock exchange, which is classified as Level 1 fair value input.&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 12pt 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 12pt 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 12pt 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.&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 invested in Suzhou Jingkong Energy Technology Co., Ltd., Hangzhou Gaote Electronic Equipment Co., Ltd., Suzhou Hongruida New Energy Equipment Co., Ltd. and Youli Intelligent Technology (Shanghai) Co., Ltd. These shares were accounted for using fair value option, and were included as a component of other non-current assets and were carried at fair value of $7,134 and $22,869 as of December 31, 2022 and 2023, respectively. Unrealized gain on these shares of $1,810 and $15,500 were recorded for the years ended December 31, 2022 and 2023 under investment income, net, in the consolidated statements of operations. The fair value of these investments were measured based on valuation incorporating the Company&#x2019;s own assumptions that were consistent with those of market participant, and were classified as Level 3 fair value measurements as the inputs are not observable.&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 invested in available-for-sale debt securities. These investments were carried at fair value of $3,739 and $4,134 as of December 31, 2022 and 2023, respectively, and were included as a component of prepaid expenses and other current assets. Gain of $904 and loss of $3,487 on these investments were recorded for the years ended December 31, 2022 and 2023, respectively, as a component of other comprehensive income (loss). The fair values of the available-for-sale debt securities were measured based on quoted prices of other debt securities with similar maturity dates and interest rates, which is classified as Level 2 fair value input.&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 recorded property, plant and equipment impairment charges of $6,084, $60,330 and $5,938 for the years ended December 31, 2021, 2022 and 2023, respectively, on certain solar product manufacturing asset group. 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 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 12pt 0pt;"&gt;The Company recorded impairment loss on project assets of $17,152, $1,674 and $16,239 for the years ended December 31, 2021, 2022 and 2023, 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 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 12pt 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;"&gt;The carrying values of cash and cash equivalents, restricted cash, trade receivables, billed and unbilled, amounts due from related parties, other receivable, accounts payables, short-term notes payable, amounts due to related parties, current portion of advances from customers, other payables and short-term borrowings approximate their fair values due to the shorter -term maturity of these instruments. Long-term borrowings were $813,406 and $1,265,965 as of December 31, 2022 and 2023, respectively, which approximate their fair values since most of the borrowings contain variable interest rates. The carrying value of the Company&#x2019;s outstanding green bonds and convertible notes was $257,615 and $389,033 as of December 31, 2022 and 2023, respectively, which approximates the fair value. The fair value of long-term borrowings and green bonds 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;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_R34kwujiD0OuFmJuvZ6yaA">&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.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.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.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:32.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="font-size:8pt;font-weight: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.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.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="font-size:8pt;font-weight: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, 2022&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.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, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.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="font-size:8pt;font-weight: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.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:32.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="font-size:8pt;font-weight: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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.73%;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,730&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.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; 9,282&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.73%;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; 9,576&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.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;&#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.73%;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; 210&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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.73%;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; 1,064&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.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; 387&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:32.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-size: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; 18,580&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.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; 9,669&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.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.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.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:32.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="font-size:8pt;font-weight: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.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.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="font-size:8pt;font-weight: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, 2022&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.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, 2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.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="font-size:8pt;font-weight: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.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:32.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="font-size:8pt;font-weight: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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;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; 24,104&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.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; 6,702&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;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%;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;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.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; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Interest rate swap&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;Other non-current liabilities&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;border-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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;Other non-current liabilities&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;border-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; 801&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:32.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="font-size: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%;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%;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%;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%;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;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;span 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%;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%;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%;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,503&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock>
    <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_di-MGqik2ES4MeVXXg-c7A"
      decimals="-3"
      id="Tc_Xopmx_eJmEevVO1taPk4KQ_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7730000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesAssetsCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_OFdlqcT6n0a87_ppMDAVkg"
      decimals="-3"
      id="Tc_QRD-1CKMe0aIQu6B-CU6ig_5_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9282000</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_FKpDUmgwb0qjp-_PqH_upA"
      decimals="-3"
      id="Tc_gn83nT0PsUy-LPFJO85M8Q_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_PAob01Ig0kOaLzsjKpJJ6w"
      decimals="-3"
      id="Tc_f8U7zvSLdk6XoOIQ4sTkFw_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">210000</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_0Uc3q9OmZ0ynTP4Lq1OhWA"
      decimals="-3"
      id="Tc_q7cMp3WnvEuzo-rMFzOESg_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1064000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_tQJLpU8oT0ew6kXThcWNgw"
      decimals="-3"
      id="Tc_AZqyZJmRjUyNK9gof3Grvw_8_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">387000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2022_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_aZ6AFPK2NECVk1kGWEb_Yg"
      decimals="-3"
      id="Tc_h3vl7knJIUWYXF0VTn4zIg_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">18580000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2023_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_vU9CW6nzk0ajNK46Gs5w1A"
      decimals="-3"
      id="Tc_WkSDdtGxV02BymC_Nc0OpQ_9_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9669000</us-gaap:DerivativeFairValueOfDerivativeAssetAmountNotOffsetAgainstCollateral>
    <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_LD26BMWRiEa7ZbOjcf7W8Q"
      decimals="-3"
      id="Tc_44iPgVUJfUStJ4-ujFcriA_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">24104000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_csiq_DerivativesLiabilitiesCurrentMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_G1Ru-mexRUGQuXOp6Sy1sA"
      decimals="-3"
      id="Tc__smYytfxL0GiIzzoAd_Eng_5_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6702000</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_xpbimS3OeEq5hl1_tMytSg"
      decimals="-3"
      id="Tc_fs4jAOGsJUafRa1W1fw3uA_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1255000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_OtherNoncurrentLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_IEhdEFbRLk6ps2Obz0PXKA"
      decimals="-3"
      id="Tc_rgkby48CKEutclchT6goVQ_7_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">801000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2022_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_aZ6AFPK2NECVk1kGWEb_Yg"
      decimals="-3"
      id="Tc_DKZQuDd1_U6wKZPDtG2_wQ_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">25359000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral
      contextRef="As_Of_12_31_2023_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_vU9CW6nzk0ajNK46Gs5w1A"
      decimals="-3"
      id="Tc_nnQJiUzqK0-fFNpIsr-DbQ_8_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7503000</us-gaap:DerivativeFairValueOfDerivativeLiabilityAmountNotOffsetAgainstCollateral>
    <us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_L6Jn5bM4mE6Rv4iRpbKigQ">&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;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.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;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;2023&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; 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.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;"&gt; (49,388)&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; (38,241)&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; 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.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; 8,918&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; 10,712&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;border-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; 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.25%;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; (4,019)&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;border-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; 25&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;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;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;Total&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;span style="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: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: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%;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%;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:8pt;text-align:right;margin:0pt;"&gt; (44,489)&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;span style="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: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:8pt;text-align:right;margin:0pt;"&gt; (27,504)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_tUdp7tVF7UeaMFuDgqODRQ"
      decimals="-3"
      id="Tc_kWADT9sKFkeVP404dT-sug_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">22582000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_Hk09aV1AYUu8Pqq55Q2KCg"
      decimals="-3"
      id="Tc_nYjmHonJnEuR1oq-5kECSg_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-49388000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_NFQkSlwzQU6JE-FEOZW_fQ"
      decimals="-3"
      id="Tc_MHXwT8DbrkGritShQNcFnA_7_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-38241000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_HRchQ1DoU0WfFigDh2Yzmw"
      decimals="-3"
      id="Tc_Cn2AUZUlcUmq1emj4YfZrg_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">220000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_8zsla1VVkkKYgWgXmI1P_A"
      decimals="-3"
      id="Tc_HQ1yHM5KnkS15vOZJR-fNw_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8918000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeOptionMember_AuahKICJqEO294v12yEA2g"
      decimals="-3"
      id="Tc_xmWosyMg-0SiOPAcFzScBg_8_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10712000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_Wk7DD-At306YTa8aWZjUjw"
      decimals="-3"
      id="Tc_84qJo569uEC8d9nvdy1HLg_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">983000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_aI8OQZhGzEmCswGZCt6WfA"
      decimals="-3"
      id="Tc_tUogGO7LPU-s9VfQn29EmQ_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-4019000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_CommodityContractMember_YPqGg8zoSkKmx5MpxP3lQA"
      decimals="-3"
      id="Tc_nnriJSeN3E61VMN7t1d4EA_9_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">25000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_6WbCog1zCkW6AYa1QGyTbQ_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">23785000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_hU2lTdzjm0yvBNdFfH6LIA_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-44489000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_phLceQTTXUic4yKkEKFltQ_10_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-27504000</us-gaap:DerivativeInstrumentsNotDesignatedAsHedgingInstrumentsGainLossNet>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Narr_5gBLhBGH1U-tBQY-gWs0CA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">18337000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_PmrcRGGnJ0SyoElh-EAi6Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15190000</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_nWrJqe0EHEeFBezhMoAp8w"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4744000</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_dGWniNghi0OTDlf8VDYfiQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">418000</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:MarketableSecuritiesUnrealizedGainLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_2GoHsf-9FUizKSrvU0TTew"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2826000</us-gaap:MarketableSecuritiesUnrealizedGainLoss>
    <us-gaap:OtherLongTermInvestments
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Narr_glMTu6FgtEyqxQuYVZmY-g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7134000</us-gaap:OtherLongTermInvestments>
    <us-gaap:OtherLongTermInvestments
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_D-r0EIg0b0yJnqNyzTQE8g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">22869000</us-gaap:OtherLongTermInvestments>
    <us-gaap:EquitySecuritiesFvNiUnrealizedGain
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_Sk2QG01-mU-CBNbKajKeXg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1810000</us-gaap:EquitySecuritiesFvNiUnrealizedGain>
    <us-gaap:EquitySecuritiesFvNiUnrealizedGain
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_A6uTPbCgS0SYrT2WvB2V4w"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15500000</us-gaap:EquitySecuritiesFvNiUnrealizedGain>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Narr_-iX-6Jyqp066OBjmKd1RhQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3739000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_FoqUG2LSj0uLTZ87JKdavQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4134000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_2QAlO0-3mUua5j6WuHlhsw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">904000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_q7qIiCZi-0OgsbS_h2f1CA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3487000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_bxBN7v4-sUWePwY1oyeTxA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6084000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_CXskC1u00UWOg7fAq8cUsg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">60330000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_3Yd2o7-qcke0ZGsEJ3_svw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5938000</us-gaap:AssetImpairmentCharges>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_ADqkYgAWPkaoQ88ivZthZQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17152000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_WwaoTtYSAkKoFcprN7Mosw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1674000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_EkI8vNLnqEGbfpHWRhXiJg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">16239000</csiq:ProjectAssetsImpairmentCharge>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Narr_UKv3Qn0uDUmLvNNa2bfd6Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">813406000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_PgaiNpebMUSpt08dqWt5Sg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1265965000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Narr_V5GUzZXybEC9gEAwmYlCUA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">257615000</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_pdI-QXA27U2ihLRigXJbCw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">389033000</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:VariableInterestEntityDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_MgaE1UEj4EWFF5kjjTsHgA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 0pt;"&gt;As of December 31, 2022 and 2023, 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.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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:1.85%;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.85%;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.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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;2023&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;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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; 10,478&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;Project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 109,144&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;Other assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 40,340&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;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 159,962&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;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.93%;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 73,131&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;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 16,956&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;Other liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 27,376&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;Total liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 117,463&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, 2021, 2022 and 2023 were insignificant to the Company&#x2019;s consolidated financial statements.&lt;/p&gt;</us-gaap:VariableInterestEntityDisclosureTextBlock>
    <us-gaap:ScheduleOfVariableInterestEntitiesTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_bb6lNHNTc0SymD_sg7Vaaw">&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.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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:1.85%;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.85%;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.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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;2023&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;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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; 10,478&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;Project assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 109,144&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;Other assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 40,340&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;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 159,962&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;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.93%;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 73,131&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;Long-term borrowings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 16,956&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;Other liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 27,376&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;Total liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 117,463&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfVariableInterestEntitiesTextBlock>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw"
      decimals="-3"
      id="Tc_T0TzT_-K10-Nyn4CcW0YAQ_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15903000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg"
      decimals="-3"
      id="Tc_pV5G4P7WfkqLg3--b1P3Jg_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10478000</us-gaap:Cash>
    <csiq:ProjectAssets
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw"
      decimals="-3"
      id="Tc_pZdyFwN1WEuq6qvoW09JCA_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">320460000</csiq:ProjectAssets>
    <csiq:ProjectAssets
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg"
      decimals="-3"
      id="Tc_nEXkiyGT_kWa9zM4jbBkDQ_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">109144000</csiq:ProjectAssets>
    <us-gaap:OtherAssets
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw"
      decimals="-3"
      id="Tc_WRvzyMQbHUeHIWCVlZR-Kw_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">30163000</us-gaap:OtherAssets>
    <us-gaap:OtherAssets
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg"
      decimals="-3"
      id="Tc_x2vaDC9vP0mT3Ms914jzkQ_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">40340000</us-gaap:OtherAssets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw"
      decimals="-3"
      id="Tc_gvCxOZYxtkmk5C0EI7SXQg_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">366526000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg"
      decimals="-3"
      id="Tc_tIEHlFkgc0aIioWZjCXUlQ_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">159962000</us-gaap:Assets>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw"
      decimals="-3"
      id="Tc_o7zl6tJTc0GPZQ4NxNnRJg_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">191792000</us-gaap:ShortTermBorrowings>
    <us-gaap:ShortTermBorrowings
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg"
      decimals="-3"
      id="Tc_z0RtDEa5ZEKByXBFoFIpig_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">73131000</us-gaap:ShortTermBorrowings>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw"
      decimals="-3"
      id="Tc_5JPotWFpfUu42qHuxgF_QA_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">49675000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg"
      decimals="-3"
      id="Tc_eMcFA_awcUm3kV3ybex9NQ_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">16956000</us-gaap:LongTermDebt>
    <us-gaap:OtherLiabilities
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw"
      decimals="-3"
      id="Tc_M5Dq8VmxMU6a7QMw2dViwg_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">26366000</us-gaap:OtherLiabilities>
    <us-gaap:OtherLiabilities
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg"
      decimals="-3"
      id="Tc_NCyubEhIlEKgwXPRQovgew_11_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">27376000</us-gaap:OtherLiabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_fnVfWgTKZkudW3WJnJBcxw"
      decimals="-3"
      id="Tc_UUPMrde-J0CC8nIMgYtFLg_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">267833000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_us-gaap_VariableInterestEntityPrimaryBeneficiaryMember_0i3i-lldUkWw9yjTTh_5Mg"
      decimals="-3"
      id="Tc_UpynIJq6lkO9-4iLz7sZmQ_12_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">117463000</us-gaap:Liabilities>
    <us-gaap:EquityMethodInvestmentsDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_tHptWzfD3k2-NpA_F1lQ_A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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:64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:7.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:1.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: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.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:7.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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: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:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&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:34.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;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:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&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:16.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&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:15.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.79%;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.77%;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;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%;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;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.03%;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;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%;margin:0pt;padding:0pt;"&gt;&lt;p 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:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.77%;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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%;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.03%;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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%;margin:0pt;padding:0pt;"&gt;&lt;p 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:64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lingang Frontier (Yangzhou) CSI New Energy Investment Fund, LP&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin: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:7.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; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,357&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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.3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Marangatu Holding S.A.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin: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:7.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; 2,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;margin:0pt;padding: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,790&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.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; 27,328&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;background:#cceeff;margin:0pt;padding: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,048&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Panati Holding S.A.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 1,818&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;margin:0pt;padding: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,185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;RE Crimson Holdings LLC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 22,272&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;background:#cceeff;margin:0pt;padding: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,551&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 8,961&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;margin:0pt;padding: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,677&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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.5&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lavras Solar Holding S.A.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 14,318&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;background:#cceeff;margin:0pt;padding: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,881&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 6,868&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;margin:0pt;padding: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,957&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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.0&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 7,683&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;background:#cceeff;margin:0pt;padding: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,553&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 6,595&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;margin:0pt;padding: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,250&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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:64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 5,922&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;background:#cceeff;margin:0pt;padding: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,028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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.2&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 5,077&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;margin:0pt;padding: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,131&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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:64%;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.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;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;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; 6,442&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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%;background:#cceeff;margin:0pt;padding: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.9-49&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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.03%;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,520&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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%;background:#cceeff;margin:0pt;padding: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.5-49&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.77%;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; 115,784&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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.03%;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; 236,928&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;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;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;In 2015, the Company co-established an entity, Suzhou Financial Leasing Co., Ltd. and owned an effective interest of 4.2% and 3.0% as of December 31, 2022 and 2023, 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 12pt 0pt;"&gt;In 2017, Canadian Solar Infrastructure Fund, Inc. (&#x201c;CSIF&#x201d;) completed its initial public offering, and the Company held a total of 56,620 and 65,672 units as of December 31, 2022 and 2023, respectively, representing 14.6% and 14.5% 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 12pt 0pt;"&gt;In 2020, the Company acquired a minor interest in Suzhou Zhuosheng Venture Investment Fund, LLP and owned an effective interest of 17.9% and 14.0% as of December 31, 2022 and 2023. 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 12pt 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;margin:0pt 0pt 12pt 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 12pt 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.4% and 2.2% as of December 31, 2022 and 2023, 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 12pt 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, 2022 and 2023, the Company owned 49% of each of Horus and Recursos.&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 2019, the Company completed the sales of its majority interests in Salgueiro Solar Holding S.A (&#x201c;Salgueiro&#x201d;) which holds its Salgueiro project, Francisco Sa Solar Holding S.A (&#x201c;Francisco&#x201d;) which holds its Francisco project, Jaiba Solar Holding S.A (&#x201c;Jaiba&#x201d;) which holds its Jaiba project, and Lavras Solar Holding S.A. (&#x201c;Lavras&#x201d;) which holds its Lavras project, to an unrelated third party. In connection with these sales, $12,793 was recognized as revenue in 2019 and the Company&#x2019;s interest in Salgueiro, Francisco, Jaiba and Larvras have each decreased to 20%. With the loss of controlling financial interests in Salgueiro, Francisco, Jaiba and Larvras, the Company derecognized net assets of $8,369 in 2019 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 12pt 0pt;"&gt;In September 2022, the Company completed the sales of its majority interests in Marangatu Holding S.A. (&#x201c;Marangatu&#x201d;) which holds its Marangatu projects, and Panati Holding S.A. (&#x201c;Panati&#x201d;) which holds its Panati projects, respectively, to unrelated third parties. In connection with these sales, $12,007 and $2,259 were recognized as revenue, respectively in 2022 and the Company&#x2019;s interest in Marangatu and Panati have each decreased to 30%. With the loss of controlling financial interests in Marangatu and Panati, the Company derecognized net assets of $6,267 and $2,262, respectively, in 2022 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 12pt 0pt;"&gt;In August 2023, the Company, through CSI Solar Co., Ltd., established an entity, Lingang Frontier (Yangzhou) CSI New Energy Investment Fund, LP, with 44.3% effective interest in the form of limited partnership. This investment is accounted for by CSI Solar Co., Ltd under the equity method as it 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;"&gt;Equity in earnings of affiliates were $7,256, $15,440 and $14,610 for the years ended December 31, 2021, 2022 and 2023, respectively. Refer to Note 20 for the Company&#x2019;s related party balances and transactions in 2021, 2022 and 2023.&lt;/p&gt;</us-gaap:EquityMethodInvestmentsDisclosureTextBlock>
    <us-gaap:EquityMethodInvestmentsTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_h4IuPcDDuUWkQyaAjduHmw">&lt;p style="font-family:'Times 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:64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:7.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:1.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: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.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:7.03%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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: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:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&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:34.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;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:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&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:16.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&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:15.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.79%;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.77%;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;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%;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;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.03%;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;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%;margin:0pt;padding:0pt;"&gt;&lt;p 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:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.77%;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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%;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.03%;margin:0pt;padding:0pt;"&gt;&lt;p 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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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%;margin:0pt;padding:0pt;"&gt;&lt;p 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:64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lingang Frontier (Yangzhou) CSI New Energy Investment Fund, LP&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin: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:7.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; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 42,357&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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.3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Marangatu Holding S.A.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin: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:7.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; 2,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;margin:0pt;padding: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,790&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.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;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.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; 27,328&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;background:#cceeff;margin:0pt;padding: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,048&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Panati Holding S.A.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 1,818&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;margin:0pt;padding: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,185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;RE Crimson Holdings LLC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 22,272&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;background:#cceeff;margin:0pt;padding: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,551&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 8,961&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;margin:0pt;padding: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,677&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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.5&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Lavras Solar Holding S.A.&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 14,318&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;background:#cceeff;margin:0pt;padding: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,881&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 6,868&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;margin:0pt;padding: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,957&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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.0&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 7,683&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;background:#cceeff;margin:0pt;padding: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,553&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 6,595&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;margin:0pt;padding: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,250&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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:64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 5,922&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;background:#cceeff;margin:0pt;padding: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,028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;background:#cceeff;margin:0pt;padding: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.2&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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; 5,077&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.03%;margin:0pt;padding: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,131&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;margin:0pt;padding: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:64%;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.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;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.77%;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; 6,442&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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%;background:#cceeff;margin:0pt;padding: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.9-49&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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.03%;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,520&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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%;background:#cceeff;margin:0pt;padding: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.5-49&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64%;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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.77%;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; 115,784&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;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.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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.03%;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; 236,928&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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%;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;</us-gaap:EquityMethodInvestmentsTextBlock>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_2OinKKZJ7ESWsceFT_2Fkg"
      decimals="-3"
      id="Tc_7yQfmuRqQU6YSM-ln4kXvQ_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">42357000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_2OinKKZJ7ESWsceFT_2Fkg"
      decimals="4"
      id="Tc_O2W5c5zSpEu0LesdjQzCeg_6_8"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.443</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_wDRW352b5kiHruoqG79bIg"
      decimals="-3"
      id="Tc_--p8_uAvQUyQl9RG3zdhmQ_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2500000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_wDRW352b5kiHruoqG79bIg"
      decimals="2"
      id="Tc_JcWOsJPIw0S3wmyNuJvyAA_7_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.30</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_sE9JlBIBf02BMadJX7ewbQ"
      decimals="-3"
      id="Tc_6J6qsm-3F0OLJpPQ5LS7Ng_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">30790000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_sE9JlBIBf02BMadJX7ewbQ"
      decimals="2"
      id="Tc_okpgpvz400CWxPwzWug38A_7_8"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.30</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_rH0cLwUtzEKdmU-0WJW00Q"
      decimals="-3"
      id="Tc_Xv8QBW2vP0eLS8YMcMvUBA_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">27328000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_rH0cLwUtzEKdmU-0WJW00Q"
      decimals="4"
      id="Tc_32U97uSZFkCOtTw9oznnWg_8_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.042</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_duV2DGKTN06DflXRy2BCsw"
      decimals="-3"
      id="Tc_xFprnCD4s0CHTJNk2o5vkw_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">30048000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_duV2DGKTN06DflXRy2BCsw"
      decimals="4"
      id="Tc_0AoBNndoO06XP-0yWCvr3Q_8_8"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.030</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_HObGbwA6rkKq9qNyMUCC8w"
      decimals="-3"
      id="Tc_1JyCl8lxA0i6WQG_1MPeLw_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1818000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_HObGbwA6rkKq9qNyMUCC8w"
      decimals="2"
      id="Tc_SeswPfoZJEmWpYeGAZr32Q_9_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.30</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_-JzrusLcBEyJGrRJrI9t7g"
      decimals="-3"
      id="Tc_87Ek2GMslkup5JMcgmqlfw_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">28185000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_-JzrusLcBEyJGrRJrI9t7g"
      decimals="2"
      id="Tc_aAS8J0Km20iMezoLdZEasw_9_8"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.30</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_-6DXDdIfbESVAsG1T-VOGQ"
      decimals="-3"
      id="Tc_zGm4DMBWPUGZbaDkooRDcA_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">22272000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_-6DXDdIfbESVAsG1T-VOGQ"
      decimals="2"
      id="Tc_Zz-Ls8C-NUWUsBlL7Grx7Q_10_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_hVqkPUIHRE-X8HNy3eGuAw"
      decimals="-3"
      id="Tc_kg0Xn4gjVUOvDnYPBddQgA_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">26551000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_hVqkPUIHRE-X8HNy3eGuAw"
      decimals="2"
      id="Tc_idQzKOoO50SdvQoyDvgS_A_10_8"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YuN8otQ-UUmQVOACshWqUQ"
      decimals="-3"
      id="Tc_v3YSLCtJpkSC-IajZtRr9g_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8961000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YuN8otQ-UUmQVOACshWqUQ"
      decimals="4"
      id="Tc_heVyhxcZR0-XP0bx1cbtsg_11_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.146</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YV-0wOfos0G0S3tK8XV4Qg"
      decimals="-3"
      id="Tc_6GMoEPLDP0yGrhchMrbBMg_11_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17677000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YV-0wOfos0G0S3tK8XV4Qg"
      decimals="4"
      id="Tc_HpIxUXOiHkCYuwLFyOmskQ_11_8"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.145</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_mHPlZng1E0-xfWWEw6Cnlg"
      decimals="-3"
      id="Tc_-rtESlKG9U2TVVyEebZx6Q_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14318000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_mHPlZng1E0-xfWWEw6Cnlg"
      decimals="2"
      id="Tc_z9kaEoL-t0e35mfLJBWXBw_12_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_hJBCxK0cakqRAECJ3jDNVQ"
      decimals="-3"
      id="Tc_CSNzieJlwEiKYanX_n-PEA_12_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">12881000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LavraSolarHoldingS.a.Member_hJBCxK0cakqRAECJ3jDNVQ"
      decimals="2"
      id="Tc_v6laQp_2fUO5e8LxtQxm6w_12_8"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_Ow3TwyrHsE-4mFzS4-XUdA"
      decimals="-3"
      id="Tc_KtmtU6pnEEGV71jDsjiaCg_13_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6868000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_Ow3TwyrHsE-4mFzS4-XUdA"
      decimals="4"
      id="Tc_dceNBibkI0-yhJvyBDr5-g_13_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.179</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_ES_8yv8-X02wcUssdjYvzg"
      decimals="-3"
      id="Tc_o78WqUdx7UawlTugQ6LG_A_13_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8957000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_ES_8yv8-X02wcUssdjYvzg"
      decimals="4"
      id="Tc_PuRYJGK9IkG7DVFba6SXuQ_13_8"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.140</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_6tihLq2cukSAwzsDUH4cQg"
      decimals="-3"
      id="Tc_KXVAOLmSUU2au7GNuXe1rA_14_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7683000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_6tihLq2cukSAwzsDUH4cQg"
      decimals="2"
      id="Tc_Boc5JykN_kKyRY16TpVZ7w_14_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_TY83BwNUZU-ZTDJiry-VLQ"
      decimals="-3"
      id="Tc_0ipvBxiBEEq1mrzsmxuDTw_14_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7553000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_TY83BwNUZU-ZTDJiry-VLQ"
      decimals="2"
      id="Tc_nV7BszeQQ0mTAWlFg6DR1w_14_8"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_twzCWt7dwkaXYmT0SFdhGA"
      decimals="-3"
      id="Tc_pkNnFiqDMkSi2zWHJxzV_Q_15_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6595000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_twzCWt7dwkaXYmT0SFdhGA"
      decimals="2"
      id="Tc_GsLeWRReWUOjxhaAzZI_oQ_15_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_vjP3pPKVjk6zwL540Y_M8A"
      decimals="-3"
      id="Tc_-hNCi-l-Q0W4ih9gAFNwTw_15_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7250000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aMember_vjP3pPKVjk6zwL540Y_M8A"
      decimals="2"
      id="Tc_ksPISr2fWUu-cGXzGnf3fQ_15_8"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_eplsERuDtkmJzzrbkY9cPg"
      decimals="-3"
      id="Tc_G-GXkaX5D0uabK4B_mjq9g_16_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5922000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_eplsERuDtkmJzzrbkY9cPg"
      decimals="4"
      id="Tc_ROEEppNhHE-uK3iNxMjEVw_16_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.044</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_1mNm8QQBCkm6WDlUh_uDCg"
      decimals="-3"
      id="Tc_l2_vApyMy06SE9TUgmYXNg_16_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7028000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_1mNm8QQBCkm6WDlUh_uDCg"
      decimals="4"
      id="Tc_ifaVZkHDNEWtkmn6kXinhQ_16_8"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.022</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_RjxDW-MyJ0eHF_f_KVatHw"
      decimals="-3"
      id="Tc_fgCmIo1MEUi15fstR1gAHw_17_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5077000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_RjxDW-MyJ0eHF_f_KVatHw"
      decimals="2"
      id="Tc_n0oc9LejhUunaNqGEQRSkg_17_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_XxwEcXnbU0elNwkCBJD7YQ"
      decimals="-3"
      id="Tc_Ry0XJVApCkOpcYixwErFKg_17_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4131000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JaibaSolarHoldingS.a.Member_XxwEcXnbU0elNwkCBJD7YQ"
      decimals="2"
      id="Tc_8TdjydwTQUuE6tKxkkEgJw_17_8"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_vKao-F6BEEmMPBIXaCDeJA"
      decimals="-3"
      id="Tc_Jc2jm1wEjk-0o9cUTrDCHA_18_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6442000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_giTyTHCmxEi7jHUphaDrVQ"
      decimals="4"
      id="Narr_rM4_OOpXXk2pENEfR-9MPg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.109</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_5cTg1Rm6SUCzwziTf4m_cg"
      decimals="2"
      id="Narr_tPCu51hZ4ESj0Ac7yyS-Hg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_WzXHDGFC-UOSPCVpeuY6wg"
      decimals="-3"
      id="Tc_NETR3CfppkC1Use9EzXf2w_18_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">13520000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_JX8eSrTNDkGtTL28a52Cbw"
      decimals="4"
      id="Narr_TCkjrUnthkmLqXHV96N50g"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.085</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_OtherEquityMethodInvesteesMember_tMg3pVrzcEGb1EXirB3r2Q"
      decimals="2"
      id="Narr_wE3TL3w0WUG8RVK2jZrA1A"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_weZpn7qXF0Gzi7qIbhs92g_19_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">115784000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestments
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_H9u6fzHFlU-Xssk0ncsApw_19_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">236928000</us-gaap:EquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_rH0cLwUtzEKdmU-0WJW00Q"
      decimals="3"
      id="Narr_DzZFsXxQwUaROYQQee4luw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.042</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouFinancialLeasingCo.Ltd.Member_duV2DGKTN06DflXRy2BCsw"
      decimals="3"
      id="Narr_9S3hO7yzqE2Azta2lrRHPg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.030</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:NumberOfBoardMembersDesignatedByTheAcquiredEntity
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="INF"
      id="Narr_55UKtZv0V0u0iGpngn1cug"
      unitRef="Unit_Standard_director_BaaAX3GvrUGwLmMpNrgmZA">1</csiq:NumberOfBoardMembersDesignatedByTheAcquiredEntity>
    <csiq:NumberOfBoardMembers
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="INF"
      id="Narr_zPaQKjowIEam7gQG666kIQ"
      unitRef="Unit_Standard_director_BaaAX3GvrUGwLmMpNrgmZA">5</csiq:NumberOfBoardMembers>
    <csiq:NumberOfUnitsHeldAsInvestments
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_e8f8q252002Oe2m6EHdsAw"
      decimals="INF"
      id="Narr_3NpXQYuJBk2DZE1JD8bjBQ"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">56620</csiq:NumberOfUnitsHeldAsInvestments>
    <csiq:NumberOfUnitsHeldAsInvestments
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarInfrastructureFundIncMember_RXqSE3aBZUWeroziSJM_Vw"
      decimals="0"
      id="Narr_D4CclaCk3EGbkPCaVwl_Ug"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">65672</csiq:NumberOfUnitsHeldAsInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YuN8otQ-UUmQVOACshWqUQ"
      decimals="3"
      id="Narr_vZOzR1JM7EyXLzgg7qX9gA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.146</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_YV-0wOfos0G0S3tK8XV4Qg"
      decimals="3"
      id="Narr_BOkFN4PAeUODySs9MupGvg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.145</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_Ow3TwyrHsE-4mFzS4-XUdA"
      decimals="3"
      id="Narr_qbU_goQC_UO7xvIB0tQGQQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.179</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SuzhouZhuoshengVentureInvestmentFundLlpMember_ES_8yv8-X02wcUssdjYvzg"
      decimals="3"
      id="Narr_4cXJSQEsxUew_OLlG6resQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.140</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:EquityMethodInvestmentOwnershipPercentageSold
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_puNThMPmG06ctuSpQS07Tg"
      decimals="2"
      id="Narr_L8cqj0fUSkuGdu48qbMJWQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.80</csiq:EquityMethodInvestmentOwnershipPercentageSold>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_PyIlF4rFRU6ixQwjQC9f9A"
      decimals="2"
      id="Narr_BPN6mOZ0ZE2I2qcarHXWxQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_puNThMPmG06ctuSpQS07Tg"
      decimals="-3"
      id="Narr_arYITf9Px0CKlHsWRj_Z9Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">123135000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <csiq:DecreaseOfNetAssets
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_ReCrimsonHoldingsLlcMember_puNThMPmG06ctuSpQS07Tg"
      decimals="-3"
      id="Narr_g7DKdErfg0SE5EjMKrw8dw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">42333000</csiq:DecreaseOfNetAssets>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_eplsERuDtkmJzzrbkY9cPg"
      decimals="3"
      id="Narr_bxV5WdHZ90K_xZMi_bEQ3Q"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.044</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_JushengSuzhouSolarTechCo.LtdMember_1mNm8QQBCkm6WDlUh_uDCg"
      decimals="3"
      id="Narr_iwTgF2caV0umRaYnXc1izg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.022</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2020_To_12_31_2020_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_BDq6n7Bo-UOX0DD3343LRA"
      decimals="-3"
      id="Narr_BxR7eswRtkqLEeXOpwkR7g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">100896000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember__cdig0q_P0u8GJ7-WnMdUA"
      decimals="-3"
      id="Narr_XuQq9L5eNkGC_DL0x45ijg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">113843000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_3L-jlL8XikeSPsqiQACsmA"
      decimals="2"
      id="Narr_YZ5otjxM0Eqm7MnbZKiVQw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:DecreaseOfNetAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember__cdig0q_P0u8GJ7-WnMdUA"
      decimals="-3"
      id="Narr_VkucmtccIk2o5U7jRwu7AA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10363000</csiq:DecreaseOfNetAssets>
    <csiq:DecreaseOfNetAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_0A_FTcQnvkyceg0AWEwFTA"
      decimals="-3"
      id="Narr_DbIxeVwBJUCCVqs0AmHKnA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7527000</csiq:DecreaseOfNetAssets>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_kdB_HttlQkSD-mqa9_cOrQ"
      decimals="2"
      id="Narr_y5Fyj5Sk_0O93SnR281eZw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_3L-jlL8XikeSPsqiQACsmA"
      decimals="2"
      id="Narr_VK9NglY8ukmq0Q3Joe8Aag"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_8_1_2019_To_8_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member_IMVBOA3zXUGvZL_Btbl27w"
      decimals="-3"
      id="Narr_ZMfwYzTpZUaZuQ5zFaDT0g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">12793000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_8_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member_HnwAWgb92USUPLT-WPM1Lg"
      decimals="2"
      id="Narr_LpWK93lKw0u4PyP1fqVI-A"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:DecreaseOfNetAssets
      contextRef="Duration_8_1_2019_To_8_31_2019_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_SalgueiroSolarHoldingS.aFranciscoSaSolarHoldingS.aJaibaSolarHoldingS.aAndLavrasSolarHoldingS.a.Member_IMVBOA3zXUGvZL_Btbl27w"
      decimals="-3"
      id="Narr_6Eq5RcVwPEucpuR12gfGlw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8369000</csiq:DecreaseOfNetAssets>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_9_1_2022_To_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_2FqzqPVug0GzktQYtX_Qnw"
      decimals="-3"
      id="Narr_gvQBzHfHeUiVWc2mPACo1Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">12007000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal
      contextRef="Duration_9_1_2022_To_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_9nkCy2Bu4UKWf8x0QTC0uA"
      decimals="-3"
      id="Narr_K4jCImAPhUugtYRNJ6sjEQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2259000</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_J1nPo-TGwUy5bTFpncX2LQ"
      decimals="2"
      id="Narr_PBxZzUOtt0uSoKi_vmUMUg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.30</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_NJR_95naqkGM-mDRVr87Hg"
      decimals="2"
      id="Narr_nJfhi-_NoEGU9CgoKkAuaQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.30</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <csiq:DecreaseOfNetAssets
      contextRef="Duration_9_1_2022_To_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_MarangatuHoldingS.aMember_2FqzqPVug0GzktQYtX_Qnw"
      decimals="-3"
      id="Narr_-ljw_Owy_0i15DOXNQhOAQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6267000</csiq:DecreaseOfNetAssets>
    <csiq:DecreaseOfNetAssets
      contextRef="Duration_9_1_2022_To_9_30_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_PanatiHoldingS.a.Member_9nkCy2Bu4UKWf8x0QTC0uA"
      decimals="-3"
      id="Narr_UH1j_OpNlUyLYXOBN4KJMA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2262000</csiq:DecreaseOfNetAssets>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_8_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_LingangFrontierCsiNewEnergyInvestmentFundLpMember_HqyayS63UUOuiW3f6jBVZg"
      decimals="3"
      id="Narr_7HFdfq1_Y0yTdOXKDtu1-w"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.443</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_hIQWYi4tg0GriLUZst4Thw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7256000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr__PJqTvOmI0Wfe9NwT6pBdA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15440000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_x5DJNmrzek2aw2wXV_ik-A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14610000</us-gaap:IncomeLossFromEquityMethodInvestments>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_7LZdFxrX7kO-YF1uJKrFpA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 United States, PRC and Europe. &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 50 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;2022&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;2023&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; 11,406&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; 49,483&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,994&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; 5,368&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; 14,936&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; 24,489&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,028&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,824&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; 29,364&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; 81,164&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:42.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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:42.26%;margin: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:1.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;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;p 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:1.47%;margin: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:11.95%;margin:0pt;padding:0pt;"&gt;&lt;p 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:42.26%;margin: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:1.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;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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 Sheet Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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;td style="vertical-align:bottom;white-space:nowrap;width:1.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;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;border-top: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="font-size:8pt;font-weight: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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.95%;margin:0pt;padding:0pt;"&gt;&lt;p 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.47%;margin: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:11.95%;margin:0pt;padding:0pt;"&gt;&lt;p 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:42.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;span style="font-size:8pt;font-weight: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.95%;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;font-weight: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.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;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:11.95%;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;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:42.26%;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 lease assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;Right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;margin:0pt;padding: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;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin: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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 132,786&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;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;Land use rights, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;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;Right-of use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span 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.95%;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; 68,094&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;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.95%;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; 104,221&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;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:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;border-bottom:3px double #000000;margin:0pt;padding: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;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin: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.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 237,007&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;span 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.95%;background:#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.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;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.95%;background:#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:42.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Finance lease assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_ZX4ffP3Aek6tCHKygIAEPQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Property, plant and equipment, net&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,705&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin: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.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 163,553&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total finance lease ROU assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;span 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.95%;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; 41,705&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;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.95%;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; 163,553&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;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.47%;margin: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.95%;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:42.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;span 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.95%;background:#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.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;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.95%;background:#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:42.26%;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 lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;Operating lease liabilities &#x2013; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;margin:0pt;padding: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:1.47%;margin: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.95%;margin:0pt;padding: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,204&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;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 lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;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;Operating lease liabilities &#x2013; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span 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.95%;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; 25,714&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;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.95%;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; 116,846&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;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:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;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; 35,524&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin: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.95%;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; 137,050&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;span 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.95%;background:#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.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;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.95%;background:#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:42.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Finance lease &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_MNxLZp-y0EmbJ8LQI9L-mA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Other current liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;margin:0pt;padding: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:1.47%;margin: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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 88,180&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:42.26%;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;Finance lease &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;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="-sec-ix-hidden:Hidden_zwemnGSU9Umlx71I-WTdxg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Other non-current liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span 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.95%;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,372&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;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.95%;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; 71,651&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:42.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total finance lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;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; 29,069&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin: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.95%;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; 159,831&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;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;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 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;12. LEASE (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;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;2022&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;2023&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,994)&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; (5,368)&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; (15,032)&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; (19,686)&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; (20,194)&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; (42,319)&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; &#x2014;&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; 167,726&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; 14,393&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; 119,412&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; (965)&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; (3,288)&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;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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12.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.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:12.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:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;2022&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;2023&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; 1.8&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; 4.0&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; 6.6&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; 14.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;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; 4.9&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; 5.5&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; 10.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;/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; 5.7&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, 2023, 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.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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: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.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: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.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:11.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;margin:0pt;padding: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;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.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: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.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:11.72%;margin:0pt;padding:0pt;"&gt;&lt;p 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.95%;margin:0pt;padding: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;font-weight: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.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: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.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:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.95%;margin:0pt;padding:0pt;"&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.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: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.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: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.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:11.72%;margin:0pt;padding:0pt;"&gt;&lt;p 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.95%;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.15%;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.15%;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.15%;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.72%;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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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: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; 24,927&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 95,023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;margin:0pt;padding: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,950&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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.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: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; 18,322&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 30,972&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;background:#cceeff;margin:0pt;padding: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,294&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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.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: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; 15,952&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 17,411&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;margin:0pt;padding: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,363&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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.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: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; 12,351&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 16,586&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;background:#cceeff;margin:0pt;padding: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,937&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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: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; 13,655&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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,342&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;margin:0pt;padding: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,997&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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.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: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; 132,225&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 3,962&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;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; 136,187&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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.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: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; 217,432&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 179,296&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 396,728&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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.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: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; 80,382&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 19,465&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;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; 99,847&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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.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: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; 137,050&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 159,831&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 296,881&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:56.95%;background:#cceeff;margin: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.15%;background:#cceeff;margin: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.15%;background:#cceeff;margin: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.15%;background:#cceeff;margin: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.72%;background:#cceeff;margin: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.95%;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.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.95%;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_DV0EnETE_k6B9hwOD-MLjw;"&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.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 20,204&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 88,180&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;background:#cceeff;margin:0pt;padding: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,384&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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_YdZatWwHLE-nl8BHqrfpoA;"&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.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 116,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: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; 71,651&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;border-bottom:1px solid #000000;margin:0pt;padding: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,497&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;background:#cceeff;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_aFecZba9I0qz7Gedq7yDLw;"&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.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 137,050&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 159,831&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;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; 296,881&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:LesseeOperatingLeaseTermOfContract
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_u3RxRVI0H0KvHxTn_PKCeg"
      id="Narr_ghlPnF9uOEaEDY6VUKyZlQ">P50Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Group_uHafMUiQfEqYuICSDZJFiA">&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;2022&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;2023&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; 11,406&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; 49,483&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,994&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; 5,368&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; 14,936&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; 24,489&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,028&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,824&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; 29,364&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; 81,164&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_cCknkFSouEmQ79lonWVAcA_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11406000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_zRJAuINoYkqxvqAACZUJAA_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">49483000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_2J4QH68bN06MQ6VnH2681A_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1994000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_wom1Z4wN7UWClKWkQP4ZoA_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5368000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:OperatingLeaseCost
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_Wljyy4svtEGid_3dMNt8Bg_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14936000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_f_t-uN_Mi0yv8JqkSQ4ZvQ_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">24489000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_unxZfgVurUe0PQ1D9oDtpA_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1028000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_t2GwlFYoFEW-ROEarJkJ0A_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1824000</us-gaap:ShortTermLeaseCost>
    <us-gaap:LeaseCost
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_zMJgE-wKoUGWGoy24ENexA_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">29364000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_kVZWW8B1mEu9W93U5R0HSw_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">81164000</us-gaap:LeaseCost>
    <csiq:LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_VCkBHCbudkq_ZTEwCcBi_Q">&lt;p style="font-family:'Times 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:42.26%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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:42.26%;margin: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:1.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;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"&gt;&lt;p 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:1.47%;margin: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:11.95%;margin:0pt;padding:0pt;"&gt;&lt;p 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:42.26%;margin: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:1.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;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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 Sheet Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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;td style="vertical-align:bottom;white-space:nowrap;width:1.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;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;border-top: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="font-size:8pt;font-weight: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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.95%;margin:0pt;padding:0pt;"&gt;&lt;p 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.47%;margin: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:11.95%;margin:0pt;padding:0pt;"&gt;&lt;p 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:42.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;span style="font-size:8pt;font-weight: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.95%;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;font-weight: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.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;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:11.95%;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;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:42.26%;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 lease assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;Right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;margin:0pt;padding: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;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin: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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 132,786&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;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;Land use rights, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;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;Right-of use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span 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.95%;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; 68,094&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;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.95%;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; 104,221&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;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:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;border-bottom:3px double #000000;margin:0pt;padding: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;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin: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.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 237,007&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;span 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.95%;background:#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.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;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.95%;background:#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:42.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Finance lease assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_ZX4ffP3Aek6tCHKygIAEPQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Property, plant and equipment, net&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 41,705&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin: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.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 163,553&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total finance lease ROU assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;span 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.95%;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; 41,705&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;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.95%;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; 163,553&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;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.47%;margin: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.95%;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:42.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;span 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.95%;background:#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.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;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.95%;background:#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:42.26%;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 lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;Operating lease liabilities &#x2013; current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;margin:0pt;padding: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:1.47%;margin: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.95%;margin:0pt;padding: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,204&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;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 lease&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;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;Operating lease liabilities &#x2013; non-current&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span 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.95%;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; 25,714&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;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.95%;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; 116,846&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;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:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;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; 35,524&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin: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.95%;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; 137,050&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.26%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;span 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.95%;background:#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.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;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.95%;background:#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:42.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Finance lease &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_MNxLZp-y0EmbJ8LQI9L-mA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Other current liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;margin:0pt;padding: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:1.47%;margin: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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 88,180&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:42.26%;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;Finance lease &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;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="-sec-ix-hidden:Hidden_zwemnGSU9Umlx71I-WTdxg;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Other non-current liabilities&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;span 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.95%;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,372&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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;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.95%;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; 71,651&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:42.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total finance lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:29.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.47%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;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; 29,069&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin: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.95%;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; 159,831&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</csiq:LesseeOperatingLeaseSupplementBalanceSheetInformationTableTextBlock>
    <csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_x7j4UTBwM0GxMbVJUAeZZQ_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">35506000</csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights>
    <csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_JeFbBYMq5kiewTrlT3WceA_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">132786000</csiq:OperatingLeaseRightOfUseAssetExcludingLandUseRights>
    <csiq:LandUseRightsNet
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_i8PEWNJqPEmNG983mmicWQ_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">68094000</csiq:LandUseRightsNet>
    <csiq:LandUseRightsNet
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_il5ZRJo5jEe7SPMvoRh8oQ_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">104221000</csiq:LandUseRightsNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_1wPS3ETqU0W7sEo3lU148A_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">103600000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_FWEBxqJ4YECmbu0TbeG5ZQ_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">237007000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_JrGo8RxmbkGtdzoHdSxxFw_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">41705000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_XYMgxx5IOkqtl4dTq0tm5A_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">163553000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_ZEfD2J0PnEmDPe-x0D0AJA_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">41705000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:FinanceLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_L4ATGD0th0WryCxOWfXIBA_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">163553000</us-gaap:FinanceLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_A9KcC6nO7kmu483CrbOGjA_13_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9810000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_3wHnurw3e0KFQN0aHrU8jg_13_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">20204000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_QnhEta_zfU-evGhnwRT1wQ_14_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">25714000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_DGG1y9MUi0KaLS_W9CdEbQ_14_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">116846000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_MhSI7RlS80a694S79RfrDA_15_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">35524000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_lCdlv7xjTUqTRzwwT_W8Iw_15_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">137050000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_0KYid6GUX0qLGyYIwTkafQ_17_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14697000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_gMODHAQCJkiz566mtSwpxw_17_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">88180000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_PkL3rrNGmUWBPO423hAwEQ_18_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14372000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_e6kEDFDA202DkDQWlkfeQw_18_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">71651000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_tZwcF_sgBE-AMu8RsI9jYw_19_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">29069000</us-gaap:FinanceLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_a2uS9DEgB0G9U6Rjj_dDpA_19_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">159831000</us-gaap:FinanceLeaseLiability>
    <csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Group_5WwrjNvzX06fAAaHj1X2nQ">&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;2022&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;2023&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,994)&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; (5,368)&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; (15,032)&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; (19,686)&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; (20,194)&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; (42,319)&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; &#x2014;&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; 167,726&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; 14,393&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; 119,412&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; (965)&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; (3,288)&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;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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:12.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.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:12.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:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;2022&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;2023&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; 1.8&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; 4.0&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; 6.6&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; 14.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;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; 4.9&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; 5.5&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; 10.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;/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; 5.7&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;</csiq:LeaseComponentsOfLeasesThatAreRecognizedOnBalanceSheetsTableTextBlock>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_Z9ay95nk8kW7Cx9SBiVlbQ_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1994000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_wMP6fMKJQU-BaJPuJF1yQw_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5368000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_MOeknzKWl06JQOUl-VHeeA_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15032000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_07b6wr1SlEeh71Il2veXdg_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">19686000</us-gaap:OperatingLeasePayments>
    <csiq:PaymentsForFinancingCashFlowsFromFinanceLease
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_-fbKK_pdUEmFfFqroqhMxw_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-20194000</csiq:PaymentsForFinancingCashFlowsFromFinanceLease>
    <csiq:PaymentsForFinancingCashFlowsFromFinanceLease
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_v-4Trmne1kCOW77Vaz3ksw_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-42319000</csiq:PaymentsForFinancingCashFlowsFromFinanceLease>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_8fsh71Gto0qSTzbKk53IKQ_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">167726000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_FcBvhJoN10aJJB7V2rxGbg_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14393000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_9BLZFAezDUqDBn6rUFUnhQ_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">119412000</us-gaap:RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability>
    <csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_S357jg6dQUmNPBq5FvE6zw_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-965000</csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction>
    <csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_utlo9rDTFEKN8UmttuUe1Q_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-3288000</csiq:RightOfUseAssetsDisposedThroughEarlyTerminationOfOperatingLeasesInNonCashTransaction>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      id="Tc_sP4LX5DrdEakAYk6kPuKYg_3_2">P1Y9M18D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      id="Tc_kSO0oDQIdkG4wNAVD2GYuw_3_4">P4Y</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      id="Tc_Tqj2IFkcAEK8D-1OxM1b8A_4_2">P6Y7M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      id="Tc_bOr7NsZ9_0GcZo-xnd-giA_4_4">P14Y4M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="3"
      id="Tc_7ANiIYI9LUO07VvzPo6Gyg_5_2"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.049</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="3"
      id="Tc_0ici_Gk340G0hBrmMr5oTQ_5_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.055</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="3"
      id="Tc_S6_OtHOgrkmIOwLwIAGRZg_6_2"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.104</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="3"
      id="Tc_oObVz1cqEkKw21uKlJO3vw_6_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.057</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_0UFOY-CWNkGAwIqRTYiwSQ">&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.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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: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.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: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.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:11.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;margin:0pt;padding: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;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.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: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.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:11.72%;margin:0pt;padding:0pt;"&gt;&lt;p 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.95%;margin:0pt;padding: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;font-weight: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.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: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.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:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.95%;margin:0pt;padding:0pt;"&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.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: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.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: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.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:11.72%;margin:0pt;padding:0pt;"&gt;&lt;p 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.95%;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.15%;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.15%;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.15%;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.72%;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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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: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; 24,927&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 95,023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;margin:0pt;padding: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,950&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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.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: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; 18,322&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 30,972&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;background:#cceeff;margin:0pt;padding: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,294&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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.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: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; 15,952&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 17,411&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;margin:0pt;padding: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,363&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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.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: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; 12,351&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 16,586&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;background:#cceeff;margin:0pt;padding: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,937&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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: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; 13,655&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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,342&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;margin:0pt;padding: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,997&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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.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: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; 132,225&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 3,962&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;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; 136,187&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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.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: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; 217,432&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 179,296&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 396,728&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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.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: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; 80,382&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 19,465&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;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; 99,847&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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.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: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; 137,050&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 159,831&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 296,881&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:56.95%;background:#cceeff;margin: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.15%;background:#cceeff;margin: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.15%;background:#cceeff;margin: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.15%;background:#cceeff;margin: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.72%;background:#cceeff;margin: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.95%;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.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.95%;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_DV0EnETE_k6B9hwOD-MLjw;"&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.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 20,204&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 88,180&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;background:#cceeff;margin:0pt;padding: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,384&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;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_YdZatWwHLE-nl8BHqrfpoA;"&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.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 116,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: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; 71,651&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;border-bottom:1px solid #000000;margin:0pt;padding: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,497&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.95%;background:#cceeff;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_aFecZba9I0qz7Gedq7yDLw;"&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.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 137,050&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 159,831&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.72%;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; 296,881&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:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_pVVcTc6JK0auj1esHU6sig_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">24927000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_ipn7uPUycUeobmKHuYrGrg_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">95023000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <csiq:LesseeLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_o3Ix-NX8hESVamxWhB2RrQ_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">119950000</csiq:LesseeLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_s6V8XFzAyU6-dNP_1fk_VQ_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">18322000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_3Aa7sP5RIkKDfXZhEHlwkQ_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">30972000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <csiq:LesseeLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_Ltwl2LzAp0CE8QNMa8-2Yg_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">49294000</csiq:LesseeLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_-BcSO-v-hkWfdvK1I1lvHw_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15952000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_uap9hJbVekele9PPQyDjOA_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17411000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <csiq:LesseeLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_C5MKK9oibE-pRnHzn96DfQ_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">33363000</csiq:LesseeLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_qS-UcQEUrUOzf_C_c2jCLQ_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">12351000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_FuihRmhm1EampdTaX7PRTA_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">16586000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <csiq:LesseeLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_WD7WbWqO00W0iimw3PDHQg_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">28937000</csiq:LesseeLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_zlCFln9Q4U-Ppc0fXhOg_g_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">13655000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_I11qwJuvIUuWPk7Wk-PBog_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15342000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFive>
    <csiq:LesseeLiabilityPaymentsDueYearFive
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_PGKMzra_2EWUq6G4R2dNTw_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">28997000</csiq:LesseeLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_Qr8kLHThnUmpszOBeHxaNw_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">132225000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_oBC5SsdJfU6a8p6nJ31psA_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3962000</us-gaap:FinanceLeaseLiabilityPaymentsDueAfterYearFive>
    <csiq:LesseeLiabilityPaymentsDueAfterYearFive
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_KjJAFsD1Ck6anM99C_Fq-g_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">136187000</csiq:LesseeLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_97YSherAV0-KKnbtpQrbbQ_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">217432000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_ZsVl49uTY0ahC-lz1rLQoQ_11_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">179296000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <csiq:LesseeLiabilityPaymentsDue
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_8oYUWgoink2JhamslyHb5A_11_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">396728000</csiq:LesseeLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_p4LC0YUCC0u9LI2ifV0s3A_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">80382000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_xM2G7j4OfEaD8OmB8Z5wKA_12_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">19465000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <csiq:LesseeLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_6C1-wUKA2kWnnUDzG3Bf9w_12_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">99847000</csiq:LesseeLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_Va2e_n_Wyk23nuJEAxreew_13_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">137050000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_KvQ1g0DSXEa5WEUEN2WucQ_13_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">159831000</us-gaap:FinanceLeaseLiability>
    <csiq:LeaseLiability
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_ab13H3eIWEKB4qjXXNwCxQ_13_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">296881000</csiq:LeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_nvX5qg1Ht0SbwC-QSp0yjg_16_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">20204000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_oYoNnjZDPkesXCn-RcF-Dw_16_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">88180000</us-gaap:FinanceLeaseLiabilityCurrent>
    <csiq:LeaseLiabilityCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_2ovva_j23kipR6AR4V5Acw_16_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">108384000</csiq:LeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_C9oPnmbYikCaMdh_hhQzKg_17_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">116846000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_q1EfSaOBxU6VBg9tSX2cnw_17_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">71651000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <csiq:LeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_ZKpoZSrhI0uH9l_o1BE5-Q_17_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">188497000</csiq:LeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_tdYL2uuso0i7xkioanRncA_18_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">137050000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_ErDuy7u_gEy43rfjODqvog_18_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">159831000</us-gaap:FinanceLeaseLiability>
    <csiq:LeaseLiability
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_zb_tfFV2TE2sMgSfA6Oqcw_18_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">296881000</csiq:LeaseLiability>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_8aGpTt3pb060GnnDQ4uZpg">&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.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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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:1.85%;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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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;2023&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;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;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.85%;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; 333,521&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 291,982&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 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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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,513,216&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 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.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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,805,198&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 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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 450,455&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 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.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 815,510&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 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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; 813,406&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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,265,965&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;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 3,071,163&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;/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 power and battery energy storage assets 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:12pt;"&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"&gt;Total borrowings was $3,071,163 as of December 31, 2023, including $1,702,785 and $1,368,378 related to CSI Solar and Recurrent Energy, respectively. In addition, the Company had $161,609 of green bonds related to Recurrent Energy and $227,424 of convertible notes as of December 31, 2023. Total borrowings was $2,257,222 as of December 31, 2022, including $1,200,582 and $1,056,640 related to CSI Solar and Recurrent Energy, respectively. In addition, the Company had $31,638 of green bonds and $225,977 of convertible notes as of December 31, 2022. Refer to Note 17 for further details of the Company&#x2019;s convertible notes.&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, 2023, the Company had contractual credit facilities of $5,254,518, of which $2,162,501 has been drawn under borrowings and $366,197 has been drawn under arrangements with banks including bank guarantees, letters of credit and short-term notes payable, and $2,725,820 was available for draw down upon demand. In addition, as of December 31, 2023, the Company also had uncommitted credit facilities of $2,587,712, of which $901,519 has been drawn under borrowings and $411,160 under arrangements with banks including bank guarantees, letters of credit and short-term notes payable. As of December 31, 2023, $374,840 of the Company&#x2019;s borrowings under its Recurrent 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 12pt 0pt;"&gt;The lenders under the Company&#x2019;s non-recourse facilities generally require the pledge of underlying solar power and battery energy storage assets 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 12pt 0pt;"&gt;As of December 31, 2023, borrowings of $1,647,038 were secured by property, plant and equipment with carrying amounts of $414,195, inventories of $1,763, land use rights of $55,976, restricted cash of $462,959, accounts receivable of $28,237, equity interest of $367,354, project assets of $233,740 and solar power systems of&#160;$609,201. These borrowings were recorded as short-term borrowings of $690,215, non-recourse borrowings - current of $146,869, long-term borrowings of $581,983 and non-recourse borrowings of $227,971.&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 significant borrowings during the years ended December 31, 2022 and 2023 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 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. In 2023, the subsidiary amended the tranche 1 loan facility to JPY6,250,000 ($44,317), with maturity unchanged at September 2024. As of December 31, 2023, both tranche 1 and tranche 2 loan facility was fully drawn.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 and and was set to mature in December 2023. In November 2023, the maturity of syndicated facility was extended for another two years to November 2025. The outstanding credit facility is secured by certain project assets in the U.S., and is guaranteed by the Company. As of December 31, 2023, 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 12pt 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 loan, secured by the project, was assumed by a buyer in connection with the sale of the project in May 2023.&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 2021, Sunmex Renovables, S.A. De C.V., a 51% owned subsidiary, obtained a $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, 2023, the outstanding balance was $25,584. 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 12pt 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. In 2022, the subsidiary obtained additional term loan facility of &#x20ac;45,000 ($48,309). The facility will mature in May 2024. As of December 31, 2023, the two term loan facilities were fully drawn and the outstanding balance on the revolving credit facility was $27,429.&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 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 was set to mature in December 2023. In 2023, the maturity of the facility was extended to December 2024. In 2023, two of these subsidiaries received BRL490,934 ($101,213) of non - recourse project financing for the 300MWp Ciranda project portfolio, consisting of BRL285,000 ($60,292) non - recourse project bonds issued in a private placement with investment funds managed by Vinci Partners for Ciranda Phase I, and a BRL205,934 ($40,921) non - recourse project finance facility with Banco Nacional de Desenvolvimento Econ&#xf4;mico e Social (&#x201c;BNDES&#x201d;) for Ciranda Phase II. Both the project bonds and project finance facility are secured by the project assets, with maturities set for 2041 and 2047, respectively. As of December 31, 2023, the outstanding balance on the development and construction facility was $95,724, the outstanding balance on the project bonds was $60,909, and the outstanding balance on the project finance facility was $41,024.&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 2023, Canadian Solar Netherlands Cooperative U.A. secured a $100,000 credit facility with Nomura Securities International, Inc., The facility will mature in March 2025 and is guaranteed by the Company. As of December 31, 2023, 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 12pt 0pt;"&gt;In June 2023, Canadian Solar Netherlands Cooperative U.A. secured two credit facilities, comprising a &#x20ac;30,000 ($32,736) and $20,000 term loan facility, and a $110,500 revolving credit facility with Santander Corporate &amp;amp; Investment Banking (&#x201c;Santander CIB&#x201d;). The two facilities will mature in June 2026 and are guaranteed by the Company. As of December 31, 2023, the term loans and the revolving credit facility were fully drawn.&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 2023, AURORA 01 GK issued JPY18,500,000 ($121,958) green bonds to finance development and construction costs of Recurrent projects globally. The bonds will mature in September 2026 and is guaranteed by the Company. As of December 31, 2023, the carrying value net of unamortized issuance costs of the green bonds was $128,818, and was included as a component of green bonds and convertible notes on the consolidated balance sheet.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;13. BORROWINGS (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 2023, Canadian Solar Sunenergy (Jiaxing) Co. Ltd. entered into credit facilities in the aggregate of RMB2,282,809 ($319,993) with various banks, and these credit facilities will mature through April 2030 by installments. Credit facilities of RMB1,869,600 ($262,044) are unsecured and are guaranteed by CSI Solar, and the remaining RMB413,209 ($57,949) are secured by certain land use rights, property, plant and equipment and equity interest of Canadian Solar Sunenergy (Jiaxing) Co. Ltd., and are guaranteed by CSI Solar. As of December 31, 2023, $165,231 was drawn.&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 2023, CSI Cells (Suqian) Co., Ltd. entered into credit facilities in the aggregate of RMB2,590,000 ($375,229) with various banks, and these credit facilities will mature through September 2026 by installments. Credit facilities of RMB90,000 ($13,097) are unsecured and are guaranteed by CSI Solar, and the remaining RMB2,500,000 ($362,132) are secured by certain property, plant and equipment and equity interest of CSI Cells (Suqian) Co., Ltd, and are guaranteed by CSI Solar. As of December 31, 2023, $142,601 was drawn.&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 2023, CSI Cells (Yangzhou) Co., Ltd. entered into credit facilities in the aggregate of RMB1,900,000 ($263,132) with various banks, and these credit facilities will mature through August 2028 by installments. The credit facilities are secured by certain property, plant and equipment and equity interest of CSI Cells (Yangzhou) Co., Ltd., and are guaranteed by CSI Solar. As of December 31, 2023, $66,350 was drawn.&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 2023, CSI Solar Technology (Xining) Co., Ltd. entered into credit facilities in the aggregate of RMB2,038,947 ($293,293) with various banks, and these credit facilities will mature through May 2028 by installments. Credit facilities of RMB180,000 ($25,761) are unsecured and are guaranteed by CSI Solar. The remaining RMB1,858,947 ($267,532) are secured by certain property, plant and equipment and equity interest of CSI Solar Technology (Xining) Co., Ltd, and are guaranteed by CSI Solar. As of December 31, 2023, $113,415 was drawn.&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, 2023, 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, 2021, 2022 and 2023, borrowings of $118,406, $193,578 and $161,709, 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 borrowings mentioned above bear effective floating interest rates from 1.2% to 16.8%.&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 are $75,550 of current portion of long-term borrowings, associated with certain solar power and battery energy storage assets that are expected to be sold within one year of December 31, 2023:&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;2024&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,805,198&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;2025&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; 551,022&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;2026&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; 355,269&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;2027&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; 84,689&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;2028&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; 49,252&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; 225,733&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; 3,071,163&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;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 12pt 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;"&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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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: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:11.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.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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: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;2022&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;2023&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; 5.3&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; 3.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;/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; 4.1&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; 6.7&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 project assets, solar power systems or property, plant and equipment until the asset is ready for its intended use. The interests incurred during the years ended December 31, 2021, 2022 and 2023 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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;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.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;2022&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;2023&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; 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.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; 26,439&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; 27,676&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&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; 18,666&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; 33,097&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; &#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.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; 963&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; 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.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; 74,266&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; 114,099&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; 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.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; 119,371&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; 175,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="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_GjFAZuBGjkiJOcTc7wFk0A">&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.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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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:1.85%;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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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;2023&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;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;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.85%;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; 333,521&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 291,982&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 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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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,513,216&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 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.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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,805,198&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 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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 450,455&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 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.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 815,510&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 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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; 813,406&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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,265,965&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;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 3,071,163&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;/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 power and battery energy storage assets 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:12pt;"&gt;&lt;/div&gt;</us-gaap:ScheduleOfDebtTableTextBlock>
    <csiq:ShortTermBorrowingsOnProjectAssets
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_1rvirHNiQU6KfbbAMEotUA_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">333521000</csiq:ShortTermBorrowingsOnProjectAssets>
    <csiq:ShortTermBorrowingsOnProjectAssets
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_GDyLFSE1XEKWnmornybzTA_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">291982000</csiq:ShortTermBorrowingsOnProjectAssets>
    <us-gaap:OtherShortTermBorrowings
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_cDGbBnCwrUiEQaO5lAe3kw_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1110295000</us-gaap:OtherShortTermBorrowings>
    <us-gaap:OtherShortTermBorrowings
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_4Ok96j5iJE-d6Sgobe5Ogg_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1513216000</us-gaap:OtherShortTermBorrowings>
    <us-gaap:DebtCurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_HDXMKkSsqkCcDFbQDSEy7Q_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1443816000</us-gaap:DebtCurrent>
    <us-gaap:DebtCurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_9V2JBMaWlUiTwiTBpMEocA_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1805198000</us-gaap:DebtCurrent>
    <csiq:LongTermBorrowingsOnProjectAssets
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_Ierld0XU1kqFJnqMqUfaQg_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">318987000</csiq:LongTermBorrowingsOnProjectAssets>
    <csiq:LongTermBorrowingsOnProjectAssets
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_uRKovIpSWk-jeD9BCtANUA_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">450455000</csiq:LongTermBorrowingsOnProjectAssets>
    <us-gaap:OtherLongTermDebt
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_gr44MxP17E-qJYxHQVt3hQ_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">494419000</us-gaap:OtherLongTermDebt>
    <us-gaap:OtherLongTermDebt
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_n0IEjb1CgUi8bQNfzUdtYQ_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">815510000</us-gaap:OtherLongTermDebt>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_OqwlfLfmJUKI5iNUBO14Ig_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">813406000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:LongTermNotesAndLoans
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_EmUEjuZ0OEWJAxK27YlYEQ_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1265965000</us-gaap:LongTermNotesAndLoans>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_Ex7qvffZpUO8nek7T4fxiA_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2257222000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_XH0UjQCDu0CWoxJ2URQy2A_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3071163000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_pdjhLpLn00WhkriDSftrOA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3071163000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_CVoCoEsnhkC6IwcHtuCxIQ"
      decimals="-3"
      id="Narr_C484WRcjbkOs5WNLJ8g_qQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1702785000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_okNBXsarzESDm9kXSKoiEQ"
      decimals="-3"
      id="Narr_jPMSz8sAcUqmrJfkwmlgeQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1368378000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_us-gaap_DebtInstrumentAxis_csiq_GreenBondsMember_u0GjDExkm0aLxt5GaFA_zA"
      decimals="-3"
      id="Narr_w8jNXRmKx06RG8GbK56NJg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">161609000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2023_us-gaap_DebtInstrumentAxis_csiq_GreenBondsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_axZlLE3gKUCwZBX_Iick2Q"
      decimals="-3"
      id="Narr_C8yecf7Ua0i1VQo-DQ2VhA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">227424000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Narr_Es1bKdjhWkKR-OkS4wsNOA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2257222000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CsiSolarCoLtdMember_7PI-qqgn1kS9IlzJTddYfQ"
      decimals="-3"
      id="Narr_d524a_ZmXku4nResMu1neg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1200582000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_jVWbxUaeZUq7ZAFJM3HOqQ"
      decimals="-3"
      id="Narr_-8jKemFwyEKFVAEV5_uF3Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1056640000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_RecurrentEnergyLlcMember_us-gaap_DebtInstrumentAxis_csiq_GreenBondsMember_qhjx5VrD4kSXGHQnCNZXRg"
      decimals="-3"
      id="Narr_Gzm7hosE0EiI6ckWDxZ0fw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">31638000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_GreenBondsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Zo7E0rHuqkGjUQofu2R2_g"
      decimals="-3"
      id="Narr_nxKmKQ6D6UujbJCrBUswzA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">225977000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_eo_R8EAmhE-_cdVsanE2YQ"
      decimals="-3"
      id="Narr__evQOfJVOEmalw58gmGVxw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5254518000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_eo_R8EAmhE-_cdVsanE2YQ"
      decimals="-3"
      id="Narr_lRHb1dZ_A0-W8eROjrzhng"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2162501000</us-gaap:LineOfCredit>
    <csiq:AdditionalAmountDrawnOfUnderBorrowing
      contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_eo_R8EAmhE-_cdVsanE2YQ"
      decimals="-3"
      id="Narr_ebDxF4OcREmFsxIgMB0DvA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">366197000</csiq:AdditionalAmountDrawnOfUnderBorrowing>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_eo_R8EAmhE-_cdVsanE2YQ"
      decimals="-3"
      id="Narr_bRgNXtU-zUShX4N6-lxRhw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2725820000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_-Wvdb1Ab7U23LQhVA6rH3A"
      decimals="-3"
      id="Narr_z91We_bzvkuJMkBtJpeOjA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2587712000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_CreditFacilityAxis_csiq_NonBindingLineOfCreditMember_zomsJJ-EOESxGYJtxFWrbw"
      decimals="-3"
      id="Narr_mYjIXhf570qScIgkzMWQUQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">901519000</us-gaap:ProceedsFromLinesOfCredit>
    <csiq:AdditionalAmountDrawnOfUnderBorrowing
      contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_csiq_ShortTermNotePayableMember_Oxf8e0c5FUWCs58BHWcYfA"
      decimals="-3"
      id="Narr_o7mv-NqMH0KCiGRtb4jSAA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">411160000</csiq:AdditionalAmountDrawnOfUnderBorrowing>
    <us-gaap:LineOfCredit
      contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_XFvq5O6dCkOYwjN9gqLP9A"
      decimals="-3"
      id="Narr_uDF76WjDlEqoyy9yoyJxCg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">374840000</us-gaap:LineOfCredit>
    <us-gaap:SecuredDebt
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_1hiSZewDuUas9QAo_HDSfg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1647038000</us-gaap:SecuredDebt>
    <csiq:PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_M6s1YAAR3kKFA7gGiV-J_A"
      decimals="-3"
      id="Narr_eeBh0yzS-E2gn5WEBFFyNg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">414195000</csiq:PledgedAssetsNotSeparatelyReportedPropertyPlantAndEquipment>
    <csiq:PledgedAssetsNotSeparatelyReportedInventory
      contextRef="As_Of_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_M6s1YAAR3kKFA7gGiV-J_A"
      decimals="-3"
      id="Narr_pbs72O0hx0eQeZsOhbGmrw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1763000</csiq:PledgedAssetsNotSeparatelyReportedInventory>
    <csiq:PledgedAssetsNotSeparatelyReportedLandUseRights
      contextRef="As_Of_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_M6s1YAAR3kKFA7gGiV-J_A"
      decimals="-3"
      id="Narr_3q4qpVOQRk6CoxAVBwVlCA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">55976000</csiq:PledgedAssetsNotSeparatelyReportedLandUseRights>
    <csiq:PledgedAssetsNotSeparatelyReportedRestrictedCash
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_uk4o6lKmj02ozxzK0NIeZA"
      decimals="-3"
      id="Narr_gHToqkDo_06ZrNSqIbUYmQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">462959000</csiq:PledgedAssetsNotSeparatelyReportedRestrictedCash>
    <csiq:PledgedAssetsNotSeparatelyReportedAccountsReceivable
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_uk4o6lKmj02ozxzK0NIeZA"
      decimals="-3"
      id="Narr__7rWqUcfUUOfPJ3G5AJ-BA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">28237000</csiq:PledgedAssetsNotSeparatelyReportedAccountsReceivable>
    <csiq:PledgedEquityNotSeparatelyReported
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_uk4o6lKmj02ozxzK0NIeZA"
      decimals="-3"
      id="Narr_f-cBY2ChdUKUSyMIwi3HPw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">367354000</csiq:PledgedEquityNotSeparatelyReported>
    <csiq:PledgedAssetsNotSeparatelyReportedProjectAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_uk4o6lKmj02ozxzK0NIeZA"
      decimals="-3"
      id="Narr_f3WzO6y13kiUSDyCb2PQXg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">233740000</csiq:PledgedAssetsNotSeparatelyReportedProjectAssets>
    <csiq:PledgedAssetsSolarPowerSystems
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PledgedStatusAxis_us-gaap_AssetPledgedAsCollateralWithoutRightMember_uk4o6lKmj02ozxzK0NIeZA"
      decimals="-3"
      id="Narr_l_o1-XghK0WflEfMjh6rvA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">609201000</csiq:PledgedAssetsSolarPowerSystems>
    <csiq:SecuredShortTermDebt
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_OLGZZIiNK0eEv-f7XROB8Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">690215000</csiq:SecuredShortTermDebt>
    <csiq:SecuredShortTermDebt
      contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_XFvq5O6dCkOYwjN9gqLP9A"
      decimals="-3"
      id="Narr_Rqvln_TMD0Gf6P1H3mxv9Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">146869000</csiq:SecuredShortTermDebt>
    <us-gaap:SecuredLongTermDebt
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_ck0eGbw2ykunX1HGB2goIQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">581983000</us-gaap:SecuredLongTermDebt>
    <us-gaap:SecuredLongTermDebt
      contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_NonrecourseMember_XFvq5O6dCkOYwjN9gqLP9A"
      decimals="-3"
      id="Narr_70Yc5EJ4UECld2QDurQU5Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">227971000</us-gaap:SecuredLongTermDebt>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_zwVrSaUchUuhI2lWFeWjew"
      id="Narr_d_Fk5CAWg06K6kWd31RjGg">P3Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_5CgaAnljNEi2pv_ZjWn98w"
      decimals="0"
      id="Narr_7opjL97eWE2vjwY60U6VpA"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">9600000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_5CgaAnljNEi2pv_ZjWn98w"
      decimals="-3"
      id="Narr_NHJoHgij5Ui3w0R8NfRySQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">85200000</us-gaap:DebtInstrumentFaceAmount>
    <csiq:NumberOfOtherParticipatingFinancialInstitutions
      contextRef="Duration_1_1_2016_To_12_31_2016_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_zwVrSaUchUuhI2lWFeWjew"
      decimals="INF"
      id="Narr__WNIj6i6lUS-zfn4SGQaqw"
      unitRef="Unit_Standard_Institution_k-1ftVqRb0S-PWM8uebl7w">13</csiq:NumberOfOtherParticipatingFinancialInstitutions>
    <csiq:NumberOfOtherParticipatingFinancialInstitutions
      contextRef="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_EZTyzWkHMUKcmRQ0Lou2Bg"
      decimals="INF"
      id="Narr_F0siU4IDx0KMNdpbuxC-Mw"
      unitRef="Unit_Standard_Institution_k-1ftVqRb0S-PWM8uebl7w">11</csiq:NumberOfOtherParticipatingFinancialInstitutions>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_10_1_2020_To_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_EZTyzWkHMUKcmRQ0Lou2Bg"
      id="Narr_372eCIeYnkGsCDSXsv2F9A">P2Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Nc3y2mC1-kCStgx7enKmbg"
      decimals="0"
      id="Narr_CGtwXWejfE-dOsRqJw1YEw"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">9100000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_10_31_2020_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_Nc3y2mC1-kCStgx7enKmbg"
      decimals="-3"
      id="Narr_X1BTlECpC0ybrazGJySdiw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">88200000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_W8cXFnCrLUSskDihwt6gZA"
      decimals="0"
      id="Narr_fJJm7EUjO0Of-9JJ9uP-OQ"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">10000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_W8cXFnCrLUSskDihwt6gZA"
      decimals="-3"
      id="Narr_wN2PcWG_Bk24uHk0-pnn3g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">89859000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentTerm
      contextRef="Duration_9_1_2021_To_9_30_2021_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_7g8VmQKD10aBzxq2SEwMRg"
      id="Narr_hoJB0UVMeUit5IWYpa30Wg">P3Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_cAX3vRa5mkqHl0uIoSesNg"
      decimals="0"
      id="Narr_HypCz6wMpk-1xiPsrGvZvA"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">7500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_8i-7BNlxsk2_z7rFZeX0fw"
      decimals="-3"
      id="Narr_Ok68PwdwKkyuGqFnpVUMFQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">57198000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche2LoanFacilityMember_wtGuDs-0_U2WWdGXhyMfZQ"
      decimals="0"
      id="Narr_LAWiAIoLDE6_DVrzCmOjpQ"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">2500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_us-gaap_DebtInstrumentAxis_csiq_Tranche2LoanFacilityMember_V0xrEsypfU2Ncghqf-4qMw"
      decimals="-3"
      id="Narr_YL45IfX9EESgUpVLVvPT2Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">19066000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_2lX6u_dO1ECFu2ZeMUvUAg"
      decimals="0"
      id="Narr_iW5yh4Gak0WRDqpqQQAnyg"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">6250000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarProjectKKMember_us-gaap_DebtInstrumentAxis_csiq_Tranche1LoanFacilityMember_2lX6u_dO1ECFu2ZeMUvUAg"
      decimals="-3"
      id="Narr_u10OROVfCk-fJxosX2QkJw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">44317000</us-gaap:DebtInstrumentFaceAmount>
    <csiq:AmountOfDevelopmentLoan
      contextRef="As_Of_12_31_2020_e4l9AB3P7Ue0Md5J7y_79A"
      decimals="-3"
      id="Narr_-jK3VjGIY0KfLf6kY7j2-Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">75000000</csiq:AmountOfDevelopmentLoan>
    <csiq:TotalAmountOfMatures
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_GMLjfXRvmUK8Bqx89fBzmg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">125000000</csiq:TotalAmountOfMatures>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_rAdiZhMFzU-vrK6pRf9UJw"
      decimals="0"
      id="Narr_iYbEoHk9t0-0zz5k1wk6Lw"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">24513530</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_AzumaKofujiDaiichiHatsudenshoG.k.Member_rAdiZhMFzU-vrK6pRf9UJw"
      decimals="-3"
      id="Narr_H7YiKJCBT0iHNGg-tn5a3A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">230759000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_SunmexRenovablesS.a.DeC.v.Member_us-gaap_DebtInstrumentAxis_csiq_LoanFacilityMember_kMjhAvAFhU-NPCficyfxOA"
      decimals="-3"
      id="Narr_F615lVaRmEWDVOzQ69Q-2A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">60000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_SunmexRenovablesS.a.DeC.v.Member_us-gaap_DebtInstrumentAxis_csiq_LoanFacilityMember_QkCCSXmP-0m3KBXrOz7oEg"
      decimals="-3"
      id="Narr_O1icPF1jT0SaOmiIl4mgTg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">25584000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_YYZO6HJRkkmcQ3Tjv-bKEw"
      decimals="0"
      id="Narr_3RMu4z0DmUmbkkSSJmrE8A"
      unitRef="Unit_Standard_EUR_17HFMf2lRk6XTW8-h5eE6A">50000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_YYZO6HJRkkmcQ3Tjv-bKEw"
      decimals="-3"
      id="Narr_oTVpZ4y7QEeC6bREqRLO1Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">61132000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_us-gaap_CreditFacilityAxis_csiq_TermLoanMember_NHfJgJqoyEeTAZE02kWDNQ"
      decimals="0"
      id="Narr_EGTLyB9l4UW9w8ZAscUTJQ"
      unitRef="Unit_Standard_EUR_17HFMf2lRk6XTW8-h5eE6A">25000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_X5qEZraBukWWZDk-E4I0qA"
      decimals="0"
      id="Narr_EdWCxqaN_0ONmchYc3AfGA"
      unitRef="Unit_Standard_EUR_17HFMf2lRk6XTW8-h5eE6A">25000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_2M31FX89B0mP07p6WW8W2A"
      decimals="0"
      id="Narr_93koY5qiQ0qH6g49X6-OOA"
      unitRef="Unit_Standard_EUR_17HFMf2lRk6XTW8-h5eE6A">45000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_2M31FX89B0mP07p6WW8W2A"
      decimals="-3"
      id="Narr_-N7RciIBrEyTIZxCYdxuzQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">48309000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarSpainSociedadLimitadaMember_YYZO6HJRkkmcQ3Tjv-bKEw"
      decimals="-3"
      id="Narr_KG0zgUDZzUa3gLUIy9OgMw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">27429000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_2RdFhDhu80yScV5qB5-opQ"
      decimals="0"
      id="Narr_u5nkpEdR-0e4oMf8QICfIA"
      unitRef="Unit_Standard_BRL_qQhbsbkMjECqnYnobxloxg">500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_2RdFhDhu80yScV5qB5-opQ"
      decimals="-3"
      id="Narr_2q3e4MgHSUiegoZqnKRP0A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">95921000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_oQTOORoImkarR8rvOi0s7g"
      decimals="0"
      id="Narr_cppxsiG1Xk-tXoqwiA0vYw"
      unitRef="Unit_Standard_BRL_qQhbsbkMjECqnYnobxloxg">490934</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectBondsMember_hFLs8lQAiEqH1k9pwi-egw"
      decimals="-3"
      id="Narr_tlIANmKAM0yhwII5SfSo6g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">101213000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectBondsMember_hFLs8lQAiEqH1k9pwi-egw"
      decimals="0"
      id="Narr_-fUNdrds-UGI_z2sdVGREQ"
      unitRef="Unit_Standard_BRL_qQhbsbkMjECqnYnobxloxg">285000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_oQTOORoImkarR8rvOi0s7g"
      decimals="-3"
      id="Narr_V16qbTgiq02RPlY7306L-g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">60292000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectFinanceFacilityMember_YJC02rU4mEKqe9_O9ufXpQ"
      decimals="0"
      id="Narr_oKdqpVufoUiKWkNMVvmP3A"
      unitRef="Unit_Standard_BRL_qQhbsbkMjECqnYnobxloxg">205934</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectFinanceFacilityMember_YJC02rU4mEKqe9_O9ufXpQ"
      decimals="-3"
      id="Narr_94y7_3mfokWjGJrq3Ns64g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">40921000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_FinancingFacilityMember_oQTOORoImkarR8rvOi0s7g"
      decimals="-3"
      id="Narr__NP_18_nsUOGAuUFHZIYcw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">95724000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectBondsMember_ovDUzUF5qkmEfIgLd_YlBw"
      decimals="-3"
      id="Narr_HnXLCdthbkOhkGjubxJmTw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">60909000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtLongtermAndShorttermCombinedAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianSubsidiariesMember_us-gaap_CreditFacilityAxis_csiq_NonRecourseProjectBondsMember_hFLs8lQAiEqH1k9pwi-egw"
      decimals="-3"
      id="Narr_vIbkJ0kud0WV4FhN3PO1sg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">41024000</us-gaap:DebtLongtermAndShorttermCombinedAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_3_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_fhk0-37ZiE2mxtw2qQdC8Q"
      decimals="-3"
      id="Narr_96N7PDiQuE2QxXJjhFVDQg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">100000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_6_30_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_nPMUMkuggE-H7qQ6x97iTw"
      decimals="0"
      id="Narr_4qiLjOgBO0qqEYLijPWhBA"
      unitRef="Unit_Standard_EUR_17HFMf2lRk6XTW8-h5eE6A">30000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_6_30_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_nPMUMkuggE-H7qQ6x97iTw"
      decimals="-3"
      id="Narr_lozR9yEcKE-PC5Su3JuDtA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">32736000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_6_30_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_us-gaap_CreditFacilityAxis_csiq_TermLoanFacilityTwoMember_IuTMt0Pxy0y4asFtqeg3gQ"
      decimals="-3"
      id="Narr_DAAZ5sCivkus745l69_tIA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">20000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_6_30_2023_dei_LegalEntityAxis_csiq_CanadianSolarNetherlandCooperativeUaMember_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_F-a7Mqki00K48eGJ1cQX1A"
      decimals="-3"
      id="Narr_Rw42LhjnsU6Q1MiVCSJaEw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">110500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_10_31_2023_dei_LegalEntityAxis_csiq_Aurora01GkMember_VUqKQQJMRU-4j_WGN0QFPQ"
      decimals="0"
      id="Narr_NfTS4i6hCkOe-2wziWbwGQ"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">18500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_10_31_2023_dei_LegalEntityAxis_csiq_Aurora01GkMember_VUqKQQJMRU-4j_WGN0QFPQ"
      decimals="-3"
      id="Narr_jRTLcv_P50OU5HiXO3A1lQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">121958000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_Aurora01GkMember_2f3i4w2IukiepaWFkshaQw"
      decimals="-3"
      id="Narr_s-v-r9xWZUuJQvRCAX2RpA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">128818000</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_bATzA2AvB0OoT2-X7O5GZA"
      decimals="0"
      id="Narr_SWUhSGOmoUqJsp-pkTfAUg"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">2282809</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_bATzA2AvB0OoT2-X7O5GZA"
      decimals="-3"
      id="Narr_zJutyL72xkeEc-JU9e8awg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">319993000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_b9kTsD5L20SDduKjf5Auvw"
      decimals="0"
      id="Narr_VZd-JZEDDk2_waKUV3oUag"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">1869600</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_us-gaap_UnsecuredDebtMember_b9kTsD5L20SDduKjf5Auvw"
      decimals="-3"
      id="Narr_8CvOLaRqnk-kYnQfikfoLQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">262044000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_4C59bf2IMUOZzexUZTmhrw"
      decimals="0"
      id="Narr_prt7dFu1lkuxmVPBa2wkaA"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">413209</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_LongtermDebtTypeAxis_csiq_DebtSecuredByPropertyPlantAndEquipmentMember_4C59bf2IMUOZzexUZTmhrw"
      decimals="-3"
      id="Narr_HV7V0FTAm0WFkc0rYaHK8Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">57949000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSunenergyJiaxingCo.LtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_i3FNawm9rUuWuEb_u-PGeA"
      decimals="-3"
      id="Narr_XCIJpowFnEWjotqm3RGmxg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">165231000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_YKOdRPy7oky9nAOGxQJ8EA"
      decimals="0"
      id="Narr_cGgQdql4Pka2_lfilyVloA"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">2590000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_YKOdRPy7oky9nAOGxQJ8EA"
      decimals="-3"
      id="Narr_7SC9CQZ-PUOO3wSeN7aq0Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">375229000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_us-gaap_CreditFacilityAxis_csiq_UnsecuredCreditFacilityMember_4w1iYQwKHk6bxcO9fDuslQ"
      decimals="0"
      id="Narr_uOy0vbnJLkm-Lm9n6yphuQ"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">90000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_us-gaap_CreditFacilityAxis_csiq_UnsecuredCreditFacilityMember_4w1iYQwKHk6bxcO9fDuslQ"
      decimals="-3"
      id="Narr_g2JYfDmtnkSmaO8yN3w7rw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">13097000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_us-gaap_CreditFacilityAxis_csiq_SecuredCreditFacilityMember_drozSQ9cSUqHAtHA_OXiZQ"
      decimals="0"
      id="Narr_udgmM6kskU24CuKZZ817Hw"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">2500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_us-gaap_CreditFacilityAxis_csiq_SecuredCreditFacilityMember_drozSQ9cSUqHAtHA_OXiZQ"
      decimals="-3"
      id="Narr_u5czJ99wyECKWzD2pvJCQA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">362132000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsSuqianCoLtdMember_oi6E8usJbU2JheMoiCvhMg"
      decimals="-3"
      id="Narr_6KTcYeMyzEKy7m2zKb9eUA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">142601000</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsYangzhouCoLtdMember_dQThxa_ee06k-9KzTqgHoA"
      decimals="0"
      id="Narr_N4wxg-YfCU6WtwWMnq9muQ"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">1900000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsYangzhouCoLtdMember_dQThxa_ee06k-9KzTqgHoA"
      decimals="-3"
      id="Narr_LObF3fiGKkG--CB-jUVPKA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">263132000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiCellsYangzhouCoLtdMember_Y6E_6KJykUS6__byobaiuQ"
      decimals="-3"
      id="Narr_sRGI0Y7B0kmPF4myebubLQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">66350000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_IGhGO1P77ESNupYjYTGudQ"
      decimals="0"
      id="Narr_fcfZigUmPkaVvtf3BTzQvA"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">2038947</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_us-gaap_CreditFacilityAxis_us-gaap_LineOfCreditMember_WtEMom1VU0ybaJVNGpnOcw"
      decimals="-3"
      id="Narr_aoO0gdQ9v0q_h5D9qNn8og"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">293293000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_us-gaap_CreditFacilityAxis_csiq_UnsecuredCreditFacilityMember_7DwwkJ5v_Ui1ZFV3dE4NeA"
      decimals="0"
      id="Narr_7ugWi3fujka9bolTZjnlyA"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">180000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_us-gaap_CreditFacilityAxis_csiq_UnsecuredCreditFacilityMember_7DwwkJ5v_Ui1ZFV3dE4NeA"
      decimals="-3"
      id="Narr_mnkfNx3jgUCtuW7hTwYhSA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">25761000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_us-gaap_CreditFacilityAxis_csiq_SecuredCreditFacilityMember_JoyGSKg7t0qiDEYanX7Ciw"
      decimals="0"
      id="Narr_r5wDn_5tWUaYWes2UXP7Iw"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">1858947</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_us-gaap_CreditFacilityAxis_csiq_SecuredCreditFacilityMember_JoyGSKg7t0qiDEYanX7Ciw"
      decimals="-3"
      id="Narr_UI9vvniAIUm-RNNUcHKuWw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">267532000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CsiSolarTechnologyXiningCoLtdMember_srt_CounterpartyNameAxis_csiq_BankBorrowingsMember_G_sof2vZREGGV7DP6-AnFA"
      decimals="-3"
      id="Narr_X8UKhlJBPES4sU44enb75g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">113415000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:OtherBorrowings
      contextRef="As_Of_12_31_2021_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_eUa6xvCwXU-CWsyq9pyoLQ"
      decimals="-3"
      id="Narr_9-D2cUFLUEKNhfaGRqPdXA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">118406000</us-gaap:OtherBorrowings>
    <us-gaap:OtherBorrowings
      contextRef="As_Of_12_31_2022_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_w8HLnwwTRU6XeCtrbN1bjw"
      decimals="-3"
      id="Narr_6rx4hSMhYE6nzW6dvVfRXQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">193578000</us-gaap:OtherBorrowings>
    <us-gaap:OtherBorrowings
      contextRef="As_Of_12_31_2023_us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis_csiq_SolarProjectMember_B408tTvLqk2iUNgdW4cxkQ"
      decimals="-3"
      id="Narr_R8yOInKEIEu5eFWP78I_iQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">161709000</us-gaap:OtherBorrowings>
    <us-gaap:LongTermDebtWeightedAverageInterestRateOverTime
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_z19N_66-b0GNb2uuD1FCAg"
      decimals="3"
      id="Narr_b5u7IMNtlUKg_9MZ28Hj2A"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.012</us-gaap:LongTermDebtWeightedAverageInterestRateOverTime>
    <us-gaap:LongTermDebtWeightedAverageInterestRateOverTime
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_uu3AUryx5kWUSPunxZnrUA"
      decimals="3"
      id="Narr_oDOVGmObrE6BakEPaYF7cg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.168</us-gaap:LongTermDebtWeightedAverageInterestRateOverTime>
    <csiq:LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_bSFDVh4FbEm-ivq5vBqJaQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">75550000</csiq:LongTermDebtOnProjectAssetsMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_MgWO4BrqDE-DU9lsLNANsQ">&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;2024&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,805,198&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;2025&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; 551,022&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;2026&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; 355,269&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;2027&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; 84,689&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;2028&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; 49,252&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; 225,733&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; 3,071,163&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_v95i8qrvHUOOPWIQz9COfg_1_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1805198000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_Iw7j6MzT1UyMIzUQWAmsFA_2_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">551022000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_cstP05sC-E-vbT7_XlQr8g_3_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">355269000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_DOGKmMbUgU2Dqgc3dasR7g_4_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">84689000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_thB2TTbeK0-9UPn3itFgFA_5_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">49252000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive>
    <us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_rqn89I1FhUSAefpRmQFvuA_6_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">225733000</us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive>
    <us-gaap:LongTermDebt
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_3NpT5KbmhU6A0a580Bk1Hw_7_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3071163000</us-gaap:LongTermDebt>
    <csiq:ScheduleOfEffectiveInterestRatesTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_ZRWglFw_qkWcNW7OICiXiA">&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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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: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:11.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.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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: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;2022&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;2023&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; 5.3&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; 3.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;/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; 4.1&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; 6.7&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;</csiq:ScheduleOfEffectiveInterestRatesTableTextBlock>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2022_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_Ohwy9cg9J0avE8H3x9SJwQ"
      decimals="3"
      id="Tc_yfz29wq8O0uI56b-YtPmDw_3_2"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.053</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2023_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_ShortTermDebtMember_TS9t0JMkrkKqR7Y0xMtsXw"
      decimals="3"
      id="Tc_m5BTkWH9l0mZXo53IQ4eWg_3_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.038</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2022_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_LongTermDebtMember_hE3L6nxy3EiJGqmy0zJabg"
      decimals="3"
      id="Tc_kOawe6vc-0KajtE62aUVnw_4_2"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.041</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:DebtInstrumentInterestRateFloatingPercentage
      contextRef="As_Of_12_31_2023_us-gaap_ExtinguishmentOfDebtAxis_us-gaap_LongTermDebtMember_9t8C_E-XzE-HtThmZeM1jg"
      decimals="3"
      id="Tc_FFGa7zW7UUmlKj4vg9ntsQ_4_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.067</csiq:DebtInstrumentInterestRateFloatingPercentage>
    <csiq:ScheduleOfInterestExpenseTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_mSNqy89hekudxoVScTJDAQ">&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;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.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;2022&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;2023&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; 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.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; 26,439&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; 27,676&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&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; 18,666&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; 33,097&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; &#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.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; 963&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; 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.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; 74,266&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; 114,099&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; 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.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; 119,371&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; 175,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="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</csiq:ScheduleOfInterestExpenseTableTextBlock>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_45YLTG39qUeRItkUWA-MRA_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17316000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_R6wXhMzEgUa8ax6DBwu9uA_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">26439000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedProjectAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_1CxrfWyojk-aG2se8ua3gg_4_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">27676000</csiq:InterestCostsCapitalizedProjectAssets>
    <csiq:InterestCostsCapitalizedSolarPowerSystemNet
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_VgxgS4RveUW3JCtReni4Pw_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">18666000</csiq:InterestCostsCapitalizedSolarPowerSystemNet>
    <csiq:InterestCostsCapitalizedSolarPowerSystemNet
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_QOuav-aHD0mR2V9HUGMQkw_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">33097000</csiq:InterestCostsCapitalizedSolarPowerSystemNet>
    <csiq:InterestCostsCapitalizedPropertyPlantAndEquipment
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_IMRpyC0VNUCGtWBkMBs9Vg_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">963000</csiq:InterestCostsCapitalizedPropertyPlantAndEquipment>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_tkvvQr-Ikke_iN2-VxZdOA_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">58153000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_zCnKB-UStkGAyiQ6Zn23Rw_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">74266000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_jki2LODQ4UegQYkz8_YloA_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">114099000</us-gaap:InterestExpense>
    <us-gaap:InterestCostsIncurred
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_AM47t9dk8EKzA7-AJJJ5kQ_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">75469000</us-gaap:InterestCostsIncurred>
    <us-gaap:InterestCostsIncurred
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_n9rNmCrDJUmEICP9-6ij2w_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">119371000</us-gaap:InterestCostsIncurred>
    <us-gaap:InterestCostsIncurred
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_OUjRVY118ESgwPK1J2KkVg_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">175835000</us-gaap:InterestCostsIncurred>
    <csiq:ShortTermNotesPayableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_l3UdL9b3gk21IKXv_FHgKA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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, 2022 and 2023, short-term notes payable was $1,493,399 and $878,285, respectively.&lt;/p&gt;</csiq:ShortTermNotesPayableTextBlock>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Narr_bm8-Fa3qkE6OpTAlcFKyEA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1493399000</csiq:ShortTermNotesPayable>
    <csiq:ShortTermNotesPayable
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_kfc9tAwQ6kK2wvAzyuzXcQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">878285000</csiq:ShortTermNotesPayable>
    <us-gaap:ProductWarrantyDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_844v-rqQ80CdjF-khl94wg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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;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.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;2022&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;2023&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; 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;margin:0pt;padding: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;margin:0pt;padding: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;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; 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.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; 68,411&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; 27,944&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; (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.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; (31,943)&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; (21,011)&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;"&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.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; (4,937)&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; (8,091)&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; 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.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; 76,677&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; 75,519&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 0pt 6pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_bjOiksWL5EOsjTloBPal1w">&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;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.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;2022&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;2023&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; 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;margin:0pt;padding: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;margin:0pt;padding: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;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; 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.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; 68,411&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; 27,944&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; (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.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; (31,943)&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; (21,011)&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;"&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.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; (4,937)&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; (8,091)&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; 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.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; 76,677&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; 75,519&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 0pt 6pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2020_e4l9AB3P7Ue0Md5J7y_79A"
      decimals="-3"
      id="Tc_AFNnQTTfQUiAsmpOJhhTTQ_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">37732000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ"
      decimals="-3"
      id="Tc_gm6uyCKttESV0qxDy3hUFw_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">45146000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_IKHFfie7f06Et4uhRXnbkQ_4_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">76677000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_JTYIxodoDkCRuqNpOI3jew_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">45053000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_jagRxUEYUE26ARw3Mk82QQ_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">68411000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_cwRa2lpCZkaiRmf8nzx7gA_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">27944000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_chWRetlirEq0gc7b8fXwzQ_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">35432000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_rK6uAvM4dEKuFiFMwotoWg_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">31943000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_ZssS4DahP0yXrpyhhSsnMA_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">21011000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_SgeapHTyvUePVvcx1gvskw_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-2207000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_nVz4vNrfKU6fWhKXO6uNPg_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-4937000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_1pFp4HZ0wU-esqoebwF35Q_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-8091000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ"
      decimals="-3"
      id="Tc_gr9fIPwgKkeH-4f2RdK29Q_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">45146000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_yGvol_P5RE-8MGicHTEVAg_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">76677000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_7jRkZ4cOG0uVVDCEPVNkAg_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">75519000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:RestrictedAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_JHte1UqmE0aowpB3by3M7w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 $1,587,503 as of December 31, 2023.&lt;/p&gt;</us-gaap:RestrictedAssetsDisclosureTextBlock>
    <csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="2"
      id="Narr_OavclckOEUC0IJC1HuBFAQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.10</csiq:MinimumAppropriationOfAfterTaxProfitToGeneralReserveRequiredPercentage>
    <us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_NgYnpeNNsUacbOf0N0su8A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1587503000</us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries>
    <csiq:ConvertibleNotesDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_dkbVe6wha0CthKnTnfEW0w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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 10pt 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 10pt 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 10pt 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 10pt 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 10pt 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, 2022 and 2023, the carrying value of the convertible notes was $225,977 and $227,424, net of unamortized issuance costs of $4,023 and $2,576, 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,302 and $1,447 for the years ended December 31, 2022 and 2023, respectively. Coupon interest of $5,750 was recorded for each of the years ended December 31, 2022 and 2023, of which $1,438 was not paid and was recorded in other payables on the consolidated balance sheets as of December 31, 2022 and 2023.&lt;/p&gt;</csiq:ConvertibleNotesDisclosureTextBlock>
    <csiq:ProceedsFromConvertibleDebtInitialIssuance
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg"
      decimals="-3"
      id="Narr_6xGQmHJmokS_YbL8WOTvqQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">200000000</csiq:ProceedsFromConvertibleDebtInitialIssuance>
    <csiq:DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg"
      id="Narr_Dlyhm55mNUmuGvvX9HsJzw">P30D</csiq:DebtInstrumentConvertibleOptionPeriodForAdditionalIssuance>
    <csiq:ProceedsFromConvertibleDebtAdditionalIssuance
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg"
      decimals="-3"
      id="Narr_8SdO_4beLESREKoepWUKWA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">30000000</csiq:ProceedsFromConvertibleDebtAdditionalIssuance>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_lZR6gpJiBUqNALDH1kbRmg"
      decimals="4"
      id="Narr_VSxPRn5-hEOelt8Xj5yWPQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0250</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentConvertibleConversionRatio1
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg"
      decimals="4"
      id="Narr_ZybY4ITPRUCT7wIsD_jNhg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">27.2707</us-gaap:DebtInstrumentConvertibleConversionRatio1>
    <us-gaap:DebtInstrumentAnnualPrincipalPayment
      contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_lZR6gpJiBUqNALDH1kbRmg"
      decimals="-3"
      id="Narr_DHnW_6W--kesE5wqK-TmFw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1000000</us-gaap:DebtInstrumentAnnualPrincipalPayment>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="As_Of_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_lZR6gpJiBUqNALDH1kbRmg"
      decimals="2"
      id="Narr_gMWXdbZgV0W-TnkFx09Ukw"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">36.67</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg"
      decimals="2"
      id="Narr_lc_jC9JRlEG8fLk5yfBqCQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">1.30</us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg"
      decimals="INF"
      id="Narr_10uVGTH00k2ddG-46DfonQ"
      unitRef="Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw">20</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg"
      decimals="INF"
      id="Narr_-kYo9UrrOECSQyDGv-gDcQ"
      unitRef="Unit_Standard_D_87kKI9PO70q8EVj9eVh9KA">30</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <csiq:DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents
      contextRef="Duration_9_16_2020_To_9_16_2020_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_Gp5TRH_JQEebnoUBxuGaxg"
      decimals="2"
      id="Narr_qH_nZ8l1ykyfMfjxP6_6GA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">1</csiq:DebtInstrumentConvertibleRedemptionPricePercentageOfOutstandingPrincipalAmountPlusAccruedInterestFollowingOccurrenceOfCertainTaxRelatedEvents>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_hxfaEZwGw0-tO5STMbomCg"
      decimals="-3"
      id="Narr_H_tjyAiOQEWaUe3YscsNyQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">225977000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:ConvertibleNotesPayableCurrent
      contextRef="As_Of_12_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_WFHGv7dq0EmPTFd1YRrF5A"
      decimals="-3"
      id="Narr_PH2xCjIuqU27gpe8JNThQw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">227424000</us-gaap:ConvertibleNotesPayableCurrent>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_hxfaEZwGw0-tO5STMbomCg"
      decimals="-3"
      id="Narr_jWoWWcrSlk2CrLs8r_oxtw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4023000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="As_Of_12_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_WFHGv7dq0EmPTFd1YRrF5A"
      decimals="-3"
      id="Narr_Q3Fnb4h-o06lmkf1srDdFg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2576000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="As_Of_12_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_WFHGv7dq0EmPTFd1YRrF5A"
      decimals="4"
      id="Narr_m7QcmgeHzkewJjDbQRWnZw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0318</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_pXnO55qLTUGX5jRSu0hZdw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1302000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_IeJG5fKG8kWyxW3Z-pDcgw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1447000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_4xpduxQgXEG7_DKuA4bdyg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5750000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_SWDCBoyIMk2M-TddPZC9Ew"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5750000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:InterestPayableCurrent
      contextRef="As_Of_12_31_2022_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_hxfaEZwGw0-tO5STMbomCg"
      decimals="-3"
      id="Narr_EYJ-FnfTAEewyMay1WAjTA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1438000</us-gaap:InterestPayableCurrent>
    <us-gaap:InterestPayableCurrent
      contextRef="As_Of_12_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_ConvertibleDebtMember_WFHGv7dq0EmPTFd1YRrF5A"
      decimals="-3"
      id="Narr_M0lIlqgQAkeLcPeRZTn01Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1438000</us-gaap:InterestPayableCurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_tDlO03KKBUaUJ2Yg_P44oA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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;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;td style="vertical-align: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;2023&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 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (61,704)&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (49,536)&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 230,768&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,026&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 153,437&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (44,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 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;"&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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 162,303&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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,894&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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;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; 408,525&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;border-top: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;/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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,944&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 12,570&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 55,780&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,104&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 475&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (7,518)&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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,695&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 75,050&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 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,048&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (4,176)&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (724)&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,008&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; 231&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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;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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (25,657)&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;"&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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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,952&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; (15,549)&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;"&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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,992&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,394&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,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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 55,056&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,112&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 475&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (33,175)&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 18,647&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 59,501&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 12pt 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;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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, 2023.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;"&gt;Canadian Solar (USA) Inc. was incorporated in Delaware, U.S. and is subject to federal and state corporate income taxes at a rate of 26.4%, 24.6% and 25.5% for the years ended December 31, 2021, 2022 and 2023, 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;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% and 28.1% for the years ended December 31, 2022 and 2023, 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;Recurrent Energy Group Inc. was incorporated in Delaware, U.S. and is subject to federal and state corporate income taxes at a rate of 22.2%, 22.5% and 26.1% for the years ended December 31, 2021, 2022 and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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, 2021, 2022 and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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, 2021, 2022 and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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, 2021, 2022 and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 five Board of Investment certificates for full tax exemption which have different effective years. The certificates started from year 2016 through 2023, respectively, one of which expired in 2021 and the other four will expire in 2024, 2027, 2030 and 2031, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 0pt;"&gt;In 2023, certain of the Company&#x2019;s PRC subsidiaries, namely Suzhou Sanysolar Materials Technology Co., Ltd, Changshu Tegu New Material Technology Co., Ltd, CSI New Energy Development (Suzhou) Co., Ltd, CSI Solar Technologies (JiaXing) Co., Ltd and Canadian Solar Photovoltaic Technology (Luoyang) 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 12pt 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, 2021, 2022 and 2023, 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: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:1.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:8.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: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:8.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: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:8.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.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: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:1.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 colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.58%;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: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:1.93%;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.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;2021&lt;/b&gt;&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: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.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.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;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&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: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: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;Combined federal and provincial income tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;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.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; 27&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;background:#cceeff;margin:0pt;padding: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.58%;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.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; 27&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;/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;Effect of permanent difference&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; 4&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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.58%;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.46%;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)&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;/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;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.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;background:#cceeff;margin:0pt;padding: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.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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; (4)&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;/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;Effect of tax holiday&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; (3)&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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.58%;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.46%;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.58%;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: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;Effect of true-up&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;background:#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.58%;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.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;&#x2014;&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;%&#160;&#160;&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;Effect of cross-border tax&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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.58%;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.44%;margin:0pt;padding: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.58%;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.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; 1&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;%&#160;&#160;&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;Unrecognized tax provision&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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;"&gt; (5)&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;background:#cceeff;margin:0pt;padding: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.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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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;&#x2014;&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;/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;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; (3)&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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.58%;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.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; 7&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;/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;Effect of change in tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; (7)&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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.58%;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.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; &#x2014;&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;/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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; 26&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:3px double #000000;margin:0pt;padding: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.58%;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.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; 15&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;/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.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.78%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;/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.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.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.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.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.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;2023&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;/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%;margin:0pt;padding:0pt;"&gt;&lt;p 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.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; 4,466&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.78%;background:#cceeff;margin:0pt;padding: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;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.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; 3,043&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.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; 0.07&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.78%;margin:0pt;padding: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;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.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.05&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.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; 0.07&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.78%;background:#cceeff;margin:0pt;padding: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;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.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.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 12pt 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 12pt 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.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.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.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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.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.3%;margin:0pt;padding:0pt;"&gt;&lt;p 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.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.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;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.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.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.3%;margin:0pt;padding:0pt;"&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.5%;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.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;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; 17,318&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 12,944&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 11,772&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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,728&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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,235&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; 5,807&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 32,351&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 28,720&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 36,332&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; 18,428&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 40&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 28,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 46,712&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 79,474&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;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; 131,094&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 2,677&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 190&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 14,031&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 15,471&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 48,761&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 62,003&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 272,714&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 336,136&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; (43,488)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; (72,678)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 229,226&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 263,458&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;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.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;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,899&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 654&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 34,914&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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,625&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 55&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 71&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 1,816&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 24,856&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; 45,662&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 66,630&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;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; 82,828&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 162,596&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 180,630&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;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; 229,226&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 263,458&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; (66,630)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; (82,828)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 162,596&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 180,630&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 12pt 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 12pt 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, 2023, the Company provided $5,350 of withholding income tax for undistributed earnings of foreign subsidiaries in 2023 on the basis of expected future distribution plan. As of December 31, 2023, the remaining undistributed earnings of approximately $701,222 attributable to the Company&#x2019;s PRC subsidiaries and affiliates are considered to be indefinitely reinvested. 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 $35,061 to $70,122, 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;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;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;td style="vertical-align: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;2023&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 43,488&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;Additions (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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 28,819&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#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; 371&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility: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; 72,678&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;As of December 31, 2023, the Company has accumulated net operating losses of $821,591, including U.S. federal and state net operating losses of $331,767, all of which will expire between 2027 and 2043.&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 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:12pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&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:12pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&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&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;/div&gt;&lt;p style="font-family:'Times 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 12pt 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 12pt 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;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:12pt;text-indent:18pt;margin:0pt;"&gt;The Company has recognized a valuation allowance of $43,488 and $72,678 as at December 31, 2022 and 2023, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;background:#ffffff;margin:0pt 0pt 12pt 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 12pt 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, 2022 and 2023 was $961 and $956, 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, 2021, 2022 and 2023, 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="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;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;td style="vertical-align: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;2023&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,770&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (24)&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;"&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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; (1)&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility: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,745&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 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 2017 to 2023 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 2019 through 2023 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 2018 retrospectively, and on transfer pricing matters for taxation years up to 2013 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_65keUGRWLU-zyFoPv6AYnw">&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;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;td style="vertical-align: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;2023&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 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (61,704)&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (49,536)&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 230,768&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,026&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 153,437&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (44,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 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;"&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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 162,303&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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,894&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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;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; 408,525&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;border-top: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;/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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,944&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 12,570&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 55,780&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,104&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 475&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (7,518)&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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,695&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 75,050&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 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,048&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (4,176)&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (724)&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,008&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; 231&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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;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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (25,657)&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;"&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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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,952&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; (15,549)&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;"&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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,992&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,394&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,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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 55,056&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,112&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 475&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; (33,175)&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 18,647&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 59,501&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_lz4Wo6xkNkmYSeVfRvgVeg"
      decimals="-3"
      id="Tc_-V0BMU2ENUe5eRsG3vW1yw_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6237000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_dOPNbZ42Ske8sXmFSuAWbw"
      decimals="-3"
      id="Tc_6lsQJXeIIkSVGvxeyFtklw_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-19357000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CA_5wTrYiI8Zk60rNKOWAmovg"
      decimals="-3"
      id="Tc_8ZORwqIBRUyLvaH6NCcgDA_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-61704000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_t78NLnj-LUSKMhJUhWl8Ag"
      decimals="-3"
      id="Tc_TjGfFGdlPEiJP4DiMACrsw_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">66432000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_Cun517e7r0mNxMampHfrNw"
      decimals="-3"
      id="Tc_C6yT1InnG0iOaLPbKHodMw_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">22275000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_US_NuSjbowMM0CZlAtL879wZA"
      decimals="-3"
      id="Tc_StFKr2TQIUCZKFC0WYc0yQ_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-49536000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_Ba4AXI6Hv0ucnPuzA-RctA"
      decimals="-3"
      id="Tc_GsKqNA0iPE6VH6pW7jazdQ_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-35943000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN__86cLK8ZMkGWCzNlyXIp6A"
      decimals="-3"
      id="Tc_0ABtvzWiEUipS6JZONx4ww_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">193705000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CN_P2szLiN-K0Oa3W68m5a06A"
      decimals="-3"
      id="Tc_Q7RHt9RrF0Kh6yqf3iAeXA_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">230768000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_2HDvQRaTZkyYBoOZEEXCbQ"
      decimals="-3"
      id="Tc_BN3_ROJ5z0WNJ7q57I2Jvw_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">51910000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_Za9OCQw9aEWqDkmyY0Ssaw"
      decimals="-3"
      id="Tc_G846WiBCtkaPDUxFJviHVw_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1179000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_JP_CMmZqN-fGUeb8Q7oyWPMqg"
      decimals="-3"
      id="Tc_7OB_XUD6k0GizCmrBPJB_w_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5026000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_SG_R1RJeoHBmUqGbj4SxzDhRA"
      decimals="-3"
      id="Tc_BGUpDw0lm0WkKy81irk78A_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-7728000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_4KBNX5JN10Oebg2jQULr0w"
      decimals="-3"
      id="Tc_a_5gt_KOF025hGUDWKtblg_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">69424000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_SG_MIhW0xDHRUGQjtX3ok8Iig"
      decimals="-3"
      id="Tc_ONZy2Ug_sUqbjnQL4lxBjQ_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">153437000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_C8kTw5pGDUKD5GLczCKF5Q"
      decimals="-3"
      id="Tc_RgcFlWuaakePbLcYqzZ3qA_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14448000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_2S2cZAub70ybmaUv8__33g"
      decimals="-3"
      id="Tc_QpQUEWalZk6YrOm6u0nxXg_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">32052000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_BR_F-9qFPYhE0-pc4ktmeAx0Q"
      decimals="-3"
      id="Tc_nZbSsFvc-EOJBnMIwnNURg_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-44663000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_TH_YR55zCHLvUegnjmf-RtY-w"
      decimals="-3"
      id="Tc_ZbzOUauj80O3ss2o4VdAqg_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-15562000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_TH_1Ufky5eSqEKgcT3kM6pMzw"
      decimals="-3"
      id="Tc_CPc3aX97-kmr39Jsr9C2YQ_11_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17155000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_TH_1v5zTIJO3k6XzskkfpXE2A"
      decimals="-3"
      id="Tc_V7VJ7o9RvECl6WiySOEi8g_11_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">162303000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HCfjZ5zgGEOem7ksX57ZmQ"
      decimals="-3"
      id="Tc_HFoT1T9mGEGBW9lMZ_W7-Q_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">58670000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_YbWz9yFO6U63vMwWSeZChw"
      decimals="-3"
      id="Tc__qlTPp4gHESsSIv2lww98g_12_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">40035000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_mzsFdWmVA0ehho4L7sa2eA"
      decimals="-3"
      id="Tc_zBJFunshFUyw0N1VTuysrA_12_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">12894000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_81X5alvWCkao53dhDPNZmg_13_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">138464000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_jt6htZEOeUG-F3KFUZWlvA_13_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">356468000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_qKCnb3QsY0OzhTN5OXKO1w_13_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">408525000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_lz4Wo6xkNkmYSeVfRvgVeg"
      decimals="-3"
      id="Tc_Bcdp7SNk_Ea1VJqaEKw_Wg_15_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1124000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_dOPNbZ42Ske8sXmFSuAWbw"
      decimals="-3"
      id="Tc_AWyeXPvea0uak5QnHZhUbg_15_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-16707000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CA_5wTrYiI8Zk60rNKOWAmovg"
      decimals="-3"
      id="Tc_Tq3giEvwIEKGNd15hjSJaQ_15_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1944000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_t78NLnj-LUSKMhJUhWl8Ag"
      decimals="-3"
      id="Tc_spYF4wSorUOqfNu0X1Y-tg_16_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15937000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_Cun517e7r0mNxMampHfrNw"
      decimals="-3"
      id="Tc_b5pQ5Xl78UaLGi_e0urkcw_16_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1684000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_US_NuSjbowMM0CZlAtL879wZA"
      decimals="-3"
      id="Tc_t_2HENb9jEmxGo-DqRRBWg_16_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">12570000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_Ba4AXI6Hv0ucnPuzA-RctA"
      decimals="-3"
      id="Tc_BrawjjW2G0qRa28VeiJr4w_17_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">47356000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN__86cLK8ZMkGWCzNlyXIp6A"
      decimals="-3"
      id="Tc_98pUe3mFqkGrPAPCthl5wQ_17_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">47528000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CN_P2szLiN-K0Oa3W68m5a06A"
      decimals="-3"
      id="Tc_vEgiCz9OlECracLTdFSZvw_17_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">55780000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_2HDvQRaTZkyYBoOZEEXCbQ"
      decimals="-3"
      id="Tc_xhJU6nK-s0G8JOhqGSuVjg_18_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">24047000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_Za9OCQw9aEWqDkmyY0Ssaw"
      decimals="-3"
      id="Tc_kyATO9AxdUWONYsuLzwmfg_18_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3054000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_JP_CMmZqN-fGUeb8Q7oyWPMqg"
      decimals="-3"
      id="Tc_2b5CTMvWck-8B2Jf_Iivmg_18_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4104000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_SG_R1RJeoHBmUqGbj4SxzDhRA"
      decimals="-3"
      id="Tc_99cn2XijSkWuItS7GBazTg_19_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">617000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_4KBNX5JN10Oebg2jQULr0w"
      decimals="-3"
      id="Tc_xCLQ6NG2XkGgY79ICpCV_w_19_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">872000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_SG_MIhW0xDHRUGQjtX3ok8Iig"
      decimals="-3"
      id="Tc_QfdReFlM2EaXnS4OzlsDQg_19_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">475000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_C8kTw5pGDUKD5GLczCKF5Q"
      decimals="-3"
      id="Tc_A9VgsJzZvU2iFE6TJSi_Xg_20_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6151000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_2S2cZAub70ybmaUv8__33g"
      decimals="-3"
      id="Tc_1SQk9BlT4UOelrnPiiKBOQ_20_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5023000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_BR_F-9qFPYhE0-pc4ktmeAx0Q"
      decimals="-3"
      id="Tc__hgy4CDUnUusAEpNRvXL2Q_20_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-7518000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HCfjZ5zgGEOem7ksX57ZmQ"
      decimals="-3"
      id="Tc_z4gfKSMrZ0mYRwpPKntyEA_22_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10097000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_YbWz9yFO6U63vMwWSeZChw"
      decimals="-3"
      id="Tc_g8JjyvH000mLJboVxEzqBw_22_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">19183000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_mzsFdWmVA0ehho4L7sa2eA"
      decimals="-3"
      id="Tc_BOroFSkmKkujJmriEne2rw_22_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7695000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_IX-1yN9rsEKlDUjnr9MnRA_23_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">103081000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_C4jIfvbcikKTg4V_2xt8mA_23_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">57269000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_zya57U9dMkeOs0_IN4zKhQ_23_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">75050000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_lz4Wo6xkNkmYSeVfRvgVeg"
      decimals="-3"
      id="Tc_gEji3LsvCk-Me4Mfic1DHg_25_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">685000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_dOPNbZ42Ske8sXmFSuAWbw"
      decimals="-3"
      id="Tc_LLa2qIUhTUuqBY7wv5tFKw_25_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10629000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CA_5wTrYiI8Zk60rNKOWAmovg"
      decimals="-3"
      id="Tc_61YBfNXLg0Sq0A-FzfAM-w_25_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2048000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_t78NLnj-LUSKMhJUhWl8Ag"
      decimals="-3"
      id="Tc_Nlr5zwhs_kOdM3nFBpurgg_26_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1604000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_Cun517e7r0mNxMampHfrNw"
      decimals="-3"
      id="Tc_f-1yFqtDfkOeAoMbybdYfg_26_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1996000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_US_NuSjbowMM0CZlAtL879wZA"
      decimals="-3"
      id="Tc_nFAMZUZx3kWNTb2lWAT0qQ_26_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-4176000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_Ba4AXI6Hv0ucnPuzA-RctA"
      decimals="-3"
      id="Tc_svXsgCvfQ0SDrq6hpzHLUg_27_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-65017000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN__86cLK8ZMkGWCzNlyXIp6A"
      decimals="-3"
      id="Tc_NBgcJyrR-kiphkWx4tcI4Q_27_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">500000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CN_P2szLiN-K0Oa3W68m5a06A"
      decimals="-3"
      id="Tc_YT3sCVuZEkOHRUZT7BDzFw_27_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-724000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_2HDvQRaTZkyYBoOZEEXCbQ"
      decimals="-3"
      id="Tc_ecYZaV4ufkCkOU-27jtbuA_28_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-353000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_Za9OCQw9aEWqDkmyY0Ssaw"
      decimals="-3"
      id="Tc_My99D3rqY0Gok97t0GeDtQ_28_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-173000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_JP_CMmZqN-fGUeb8Q7oyWPMqg"
      decimals="-3"
      id="Tc_EkaU9SA8sEy_0-7d7YxVhw_28_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2008000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_4KBNX5JN10Oebg2jQULr0w"
      decimals="-3"
      id="Tc_H8N4jvoF6UqtxU-fh4KSaA_29_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">231000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_C8kTw5pGDUKD5GLczCKF5Q"
      decimals="-3"
      id="Tc_toi2HlcIpk6Kze7cd48IgA_30_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1244000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_2S2cZAub70ybmaUv8__33g"
      decimals="-3"
      id="Tc_b1z2R9dM8ka1i9-8gQPLbA_30_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5546000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_BR_F-9qFPYhE0-pc4ktmeAx0Q"
      decimals="-3"
      id="Tc_OevXMufhREqxAKIhfx6_ag_30_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-25657000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HCfjZ5zgGEOem7ksX57ZmQ"
      decimals="-3"
      id="Tc_KYjvwZ-0jk622Gn_jpH36g_32_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-2192000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_YbWz9yFO6U63vMwWSeZChw"
      decimals="-3"
      id="Tc_e0ZuJdprWUeU4mh-wWuBsA_32_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-2645000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_mzsFdWmVA0ehho4L7sa2eA"
      decimals="-3"
      id="Tc_HKN3Ki7jKUaVuQM71M6w0A_32_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10952000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_0lq6hC4eZ06UpxTQ_sYSDg_33_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-67237000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_KJ4ZuMVX0UShUNxT52kzHQ_33_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">16084000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_Ov2_C-dXVka0ZPMRSjKy9Q_33_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-15549000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CA_lz4Wo6xkNkmYSeVfRvgVeg"
      decimals="-3"
      id="Tc_yq0YzPXkGECASNflX-OECg_35_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-439000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CA_dOPNbZ42Ske8sXmFSuAWbw"
      decimals="-3"
      id="Tc_0brpyJpXyEOWmhj5HsW3tA_35_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-6078000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CA_5wTrYiI8Zk60rNKOWAmovg"
      decimals="-3"
      id="Tc_0Pgj-lkVI0yxT_I2rN80ww_35_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3992000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_US_t78NLnj-LUSKMhJUhWl8Ag"
      decimals="-3"
      id="Tc_BTj8_Evh-0GOReqvEPkePA_36_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14333000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_US_Cun517e7r0mNxMampHfrNw"
      decimals="-3"
      id="Tc_p9bBcSy5002MBen2c1lG1g_36_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">312000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_US_NuSjbowMM0CZlAtL879wZA"
      decimals="-3"
      id="Tc_KrBglrkOU0adR2E1qf_mng_36_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8394000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_CN_Ba4AXI6Hv0ucnPuzA-RctA"
      decimals="-3"
      id="Tc_6_EHNT8OcE695NcNNuU7Dw_37_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-17661000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_CN__86cLK8ZMkGWCzNlyXIp6A"
      decimals="-3"
      id="Tc_biCMS0gKOESpA2EPh7LAdg_37_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">48028000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_CN_P2szLiN-K0Oa3W68m5a06A"
      decimals="-3"
      id="Tc_88VDJHqjvUGrtLRgU_Y-Tg_37_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">55056000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_JP_2HDvQRaTZkyYBoOZEEXCbQ"
      decimals="-3"
      id="Tc_Z8q3hJDNzECc3ZAGCvq26w_38_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">23694000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_JP_Za9OCQw9aEWqDkmyY0Ssaw"
      decimals="-3"
      id="Tc_p8G0YZaf1EihWeK_x3aoUQ_38_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2881000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_JP_CMmZqN-fGUeb8Q7oyWPMqg"
      decimals="-3"
      id="Tc_Tll5OCa2TUy-h8o1m2hHxw_38_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6112000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_SG_R1RJeoHBmUqGbj4SxzDhRA"
      decimals="-3"
      id="Tc_oV6buTZbek62RO8JVZT1tw_39_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">617000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_SG_4KBNX5JN10Oebg2jQULr0w"
      decimals="-3"
      id="Tc_nmn-oCK_mUm7W6g41ru6aQ_39_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1103000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_SG_MIhW0xDHRUGQjtX3ok8Iig"
      decimals="-3"
      id="Tc_9wxrbzk0IUCX2e1ZjW1NmA_39_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">475000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_country_BR_C8kTw5pGDUKD5GLczCKF5Q"
      decimals="-3"
      id="Tc_5Bp-DHZZfUeGggb3zviYQQ_40_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7395000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_country_BR_2S2cZAub70ybmaUv8__33g"
      decimals="-3"
      id="Tc_lAZf5y46uE6bKWfCbI80nw_40_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10569000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_country_BR_F-9qFPYhE0-pc4ktmeAx0Q"
      decimals="-3"
      id="Tc_FGmt_oJRskqyzFv9nKo8WQ_40_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-33175000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_HCfjZ5zgGEOem7ksX57ZmQ"
      decimals="-3"
      id="Tc_48IJVSq5a0uHDCb8FVXnSQ_42_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7905000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_YbWz9yFO6U63vMwWSeZChw"
      decimals="-3"
      id="Tc_4Dq1FOfF2EOm2Ew40rWDkg_42_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">16538000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_csiq_OtherJurisdictionsMember_mzsFdWmVA0ehho4L7sa2eA"
      decimals="-3"
      id="Tc_03AXjdwphkydW3xGry6RSA_42_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">18647000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_jtlf5ZgSFUqFRPgMJKsQnQ_43_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">35844000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_EIDWrQs4Uk-O0IyyHzdASQ_43_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">73353000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_FGkWo2RY-UurmIMjwToKBA_43_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">59501000</us-gaap:IncomeTaxExpenseBenefit>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_y_QdWoUCpUOBQZMYEXMJSA"
      decimals="3"
      id="Narr_sFp4jYsq0UOzLp8OGRTxLw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.265</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_y_QdWoUCpUOBQZMYEXMJSA"
      decimals="3"
      id="Narr_hFDRKhiHDECmGpbmFFZq8Q"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.265</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_vq1uJMF8T0G-gRBEAW7CPQ"
      decimals="3"
      id="Narr_5FRekY04Lkajh1M4aSwt6A"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.264</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_Lj1DHNZNJUe37NHNCSaj9A"
      decimals="3"
      id="Narr_p0hWrkQ9j0eY9RAYt1Ho4A"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.246</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarUSAIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_aJMUd1ar7EeR1UJTZ3Znqg"
      decimals="3"
      id="Narr_kKpMPbo4Eke0-7GW7fyKZQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.255</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarSsesUsIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_CfSKILHQtkS4vSuXDZqj-Q"
      decimals="3"
      id="Narr_rrBTn77rh02rt8kujdA__g"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.219</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarSolutionsIncMember_us-gaap_IncomeTaxAuthorityAxis_country_US_gwt7c9wvUE-8pQxCf4BjTg"
      decimals="4"
      id="Narr_w0wkFWNXsk-FjJo6mhXrlQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.281</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_MvGMyDFyU0SWsVCWeLpBkg"
      decimals="3"
      id="Narr_RonviQt7KE2skVF4icBjZg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">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_IoVS33MTR0yey79d4zIfTg"
      decimals="3"
      id="Narr_ii1YCnCZJEWu-tkL18z_YA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.225</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_RecurrentEnergyGroupInc.Member_us-gaap_IncomeTaxAuthorityAxis_country_US_4r8LjN8gh0mdDdCaJti1CA"
      decimals="3"
      id="Narr_Bcu8Mgo79UyYwSYBIlaUtQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.261</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_JkY-JtQitEi8FKeg-k_J8w"
      decimals="3"
      id="Narr_PP6QTWcacUKPXzlEM92a0Q"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.318</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_kqKDCCRqJE2ms8Dw9pKDsA"
      decimals="3"
      id="Narr_aK-_slvXaEyCVjjVYiBYSA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.318</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarJapanKKMember_us-gaap_IncomeTaxAuthorityAxis_country_JP_84lt1fOm5EO75wOn_i3fWA"
      decimals="3"
      id="Narr_UwcgYcUtIUGYvlpyF3KaGQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.318</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_4lo4lJHb_Umg3T132uPZzg"
      decimals="2"
      id="Narr_-STVaY9dG0W5c3eAUpFcWg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.33</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_CDtH1lhr4k-mhN4OfyhiNw"
      decimals="2"
      id="Narr_3szGT86HNkC8B08kfN8XVw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.33</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarEMEAGmbHMember_us-gaap_IncomeTaxAuthorityAxis_country_DE_LVRyNcKfBUWHnzJ_1RyM3g"
      decimals="2"
      id="Narr_CnJLuoyN9UeZM1dkj63R_Q"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.33</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_Qt8WOogj00eO0UQngPnGdQ"
      decimals="2"
      id="Narr_zvL1aGJZyk2y8Xw-5qeiBg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.34</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_nK9N395Pf02XbsBGaXCtJw"
      decimals="2"
      id="Narr_FY0O47v6ok20NwrDGFeHyQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.34</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember_us-gaap_IncomeTaxAuthorityAxis_country_BR_SNAiactADEezGDi7FeYBLg"
      decimals="2"
      id="Narr_ok9YdySfH0aeSYiwiQ_w9w"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.34</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_66j7qm548k6x0yhQ4Kpm7g"
      decimals="2"
      id="Narr_-KMgDlM0fU6hnjd1MGMx1w"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:NumberOfBoardOfInvestmentCertificatesTaxExemption
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarManufacturingThailandCo.Ltd.Member_us-gaap_IncomeTaxAuthorityAxis_country_TH_66j7qm548k6x0yhQ4Kpm7g"
      decimals="INF"
      id="Narr_cwoEzzw2CUOo25DrBaNovQ"
      unitRef="Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw">5</csiq:NumberOfBoardOfInvestmentCertificatesTaxExemption>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_JQjRSTvtfU-Qph4urhmX4A"
      decimals="3"
      id="Narr_9Mj1kEL6lEG5mzBRv2tmuw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.165</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_dByBRGaHp0ubkdWUPV79Ww"
      decimals="3"
      id="Narr_eJkDDIrxjUiQqE-M-0nPrQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.165</csiq:IncomeTaxesForeignCorporateTaxRate>
    <csiq:IncomeTaxesForeignCorporateTaxRate
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_us-gaap_IncomeTaxAuthorityAxis_country_HK_4sjoN1pOZkyh5OWoUvS3DA"
      decimals="3"
      id="Narr_ityFJbcDhE-2XLcnvamflw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.165</csiq:IncomeTaxesForeignCorporateTaxRate>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_7dAeTrgKD06EuMr241YRiQ">&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:1.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:8.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: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:8.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: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:8.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.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: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:1.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 colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.58%;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: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:1.93%;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.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;2021&lt;/b&gt;&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: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.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.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;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&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: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: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;Combined federal and provincial income tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;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.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; 27&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;background:#cceeff;margin:0pt;padding: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.58%;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.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; 27&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;/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;Effect of permanent difference&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; 4&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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.58%;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.46%;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)&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;/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;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.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;background:#cceeff;margin:0pt;padding: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.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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; (4)&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;/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;Effect of tax holiday&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; (3)&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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.58%;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.46%;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.58%;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: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;Effect of true-up&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;background:#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.58%;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.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;&#x2014;&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;%&#160;&#160;&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;Effect of cross-border tax&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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.58%;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.44%;margin:0pt;padding: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.58%;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.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; 1&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;%&#160;&#160;&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;Unrecognized tax provision&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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;"&gt; (5)&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;background:#cceeff;margin:0pt;padding: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.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;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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;&#x2014;&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;/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;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; (3)&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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.58%;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.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; 7&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;/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;Effect of change in tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; (7)&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;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.58%;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.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; &#x2014;&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;/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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.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="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.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; 26&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;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:3px double #000000;margin:0pt;padding: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.58%;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.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; 15&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;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="2"
      id="Tc_FMbZdS4s1ky-n_rOMf0N2A_3_2"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.27</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="2"
      id="Tc_R7ldiLqMVkK1mQ3WJjH3IQ_3_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.27</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Tc_3VDgP7-RQkS0y6BwqudsyQ_3_6"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.27</csiq:EffectiveIncomeTaxRateReconciliationAtFederalAndProvincialIncomeTaxRate>
    <csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="2"
      id="Tc_I4t_2Hjef0-xOIYaJmGd8g_4_2"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.04</csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent>
    <csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="2"
      id="Tc_R469MxioT0qnbnttL1Sy7w_4_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">-0.03</csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent>
    <csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Tc_uLMPWghFHECV27NZvuY99Q_4_6"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">-0.15</csiq:EffectiveIncomeTaxRateReconciliationPermanentDifferencePercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="2"
      id="Tc_wgonADXil0-TVFKKJ5vz4w_5_2"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.09</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="2"
      id="Tc_m4AUO9SQmU2eNSS6-JIlxA_5_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Tc_RlJJDnij-0OhOMqpGNS6_w_5_6"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">-0.04</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="2"
      id="Tc_O1kVFQnFHUubGL5qmmbQNQ_6_2"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.03</us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="2"
      id="Tc_iqiGUG9OYkGuJJQ0cEp6_w_6_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Tc_4bWoiV1ocEe4EJK9qSU-Fg_6_6"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxHolidays>
    <csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="2"
      id="Tc_7mgdDoMc90KhYPEvUkSSZw_7_2"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.04</csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp>
    <csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="2"
      id="Tc_UUYMbbJcoEqHw67M6vWPQg_7_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">-0.02</csiq:EffectiveIncomeTaxRateReconciliationEffectOfTrueUp>
    <csiq:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Tc_PYE4yGi69ESlIoGyOW88Sw_8_6"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.01</csiq:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRateOnForeignEarningsPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="2"
      id="Tc_4O7VI35guEGqyrRS42ky5w_9_2"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">-0.05</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="2"
      id="Tc_p65PFTjmWkuJfBqu9NKkTg_10_2"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">-0.03</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="2"
      id="Tc_8rTb3hli8kyHkskkxRui8w_10_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">-0.01</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Tc_6BXOsl9ujUiC-OHk8a2rhw_10_6"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.07</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="2"
      id="Tc_8B5lWzh5QE2aqyzmP0LyXQ_11_2"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">-0.07</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="2"
      id="Tc_c7dU06EZ-E2uoPCTMlXQ8Q_12_2"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.26</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="2"
      id="Tc_YmHpbcHz4UCTTzyGljMV4g_12_4"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.21</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Tc_qgEgyuLPEE2OxWioc1d8oQ_12_6"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.15</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:SummaryOfIncomeTaxHolidayTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_Rtcg_yDMek-IntJtZ00ddQ">&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.8%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.78%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;/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.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.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.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.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.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;2023&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;/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%;margin:0pt;padding:0pt;"&gt;&lt;p 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.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; 4,466&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.78%;background:#cceeff;margin:0pt;padding: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;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.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; 3,043&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.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; 0.07&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.78%;margin:0pt;padding: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;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.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.05&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.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; 0.07&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.78%;background:#cceeff;margin:0pt;padding: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;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.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.04&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:SummaryOfIncomeTaxHolidayTextBlock>
    <us-gaap:IncomeTaxHolidayAggregateDollarAmount
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_P_el59KezEW_HTjHOx3Fpg_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4466000</us-gaap:IncomeTaxHolidayAggregateDollarAmount>
    <us-gaap:IncomeTaxHolidayAggregateDollarAmount
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_aMnqQvWDiEmTbO5fdcV1WA_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2520000</us-gaap:IncomeTaxHolidayAggregateDollarAmount>
    <us-gaap:IncomeTaxHolidayAggregateDollarAmount
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_o7mJulye60eCYyyuvPDEUQ_4_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3043000</us-gaap:IncomeTaxHolidayAggregateDollarAmount>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="2"
      id="Tc_WR1LVGqPyUy8WUNmt7ZU5A_5_2"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">0.07</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="2"
      id="Tc_ocd4N9mWI0ikg22spsnO1Q_5_4"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">0.04</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Tc_NDLiwyfUY0CmwI2JsBHuWw_5_6"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">0.05</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareBasic>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="2"
      id="Tc_EDrJnZAPL0mmXj3e3JMgSQ_6_2"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">0.07</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="2"
      id="Tc_sA6QpXuQo0OWp9LnA_GHKQ_6_4"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">0.04</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted>
    <csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Tc_2plTXMoMzEWeFikSBEBMFw_6_6"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">0.04</csiq:IncomeTaxHolidayIncomeTaxBenefitsPerShareDiluted>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_-DC3QWtOsECVUCvwujUwKg">&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.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.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.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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.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.3%;margin:0pt;padding:0pt;"&gt;&lt;p 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.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.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;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.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.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.3%;margin:0pt;padding:0pt;"&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.5%;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.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;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; 17,318&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 12,944&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 11,772&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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,728&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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,235&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; 5,807&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 32,351&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 28,720&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 36,332&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; 18,428&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 40&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 28,723&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 46,712&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 79,474&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;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; 131,094&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 2,677&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 190&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 14,031&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 15,471&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 48,761&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 62,003&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 272,714&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 336,136&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; (43,488)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; (72,678)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 229,226&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 263,458&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;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.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;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,899&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 654&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 34,914&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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,625&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 55&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 71&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 1,816&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 24,856&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; 45,662&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 66,630&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;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; 82,828&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 162,596&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 180,630&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.5%;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; 229,226&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 263,458&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; (66,630)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; (82,828)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.5%;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; 162,596&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 180,630&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_PyuO_XuBvEazKEAORmEXxA_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17318000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_cBhe-8Bn50ezy8sBrvqAAw_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">12944000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_879gVLRoX0e3ZWy4obIfUg_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11772000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_4WCoL31Mxk-oT-hvxxZwJA_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14728000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_J_eaQdQOjk-Qyy9ELqvA1w_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1235000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_H2ZmQHnV1kejlg6GCFTwcw_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5807000</us-gaap:DeferredTaxAssetsInventory>
    <csiq:DeferredTaxAssetsFutureDeductibleExpenses
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_rKIFrca0fUyAIdcF271A5g_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">32351000</csiq:DeferredTaxAssetsFutureDeductibleExpenses>
    <csiq:DeferredTaxAssetsFutureDeductibleExpenses
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_3sP0Ykcld0CR4zNo32h-vQ_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">28720000</csiq:DeferredTaxAssetsFutureDeductibleExpenses>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_e_GWec1eOUG_O9X30F8i5w_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">36332000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_nccQjlwuO0Oo6NhXdb1bjw_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">18428000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_67RMFwydz0aGkbdz4Ztblg_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">40000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_Zk0p4WSIHEqkxx0s59B7Jw_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">39000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_Ddz92zyLL0WjT09k0ag3Tg_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">28723000</csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets>
    <csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_q06K_L-CY0Gcwzq2mDsNqw_11_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">46712000</csiq:DeferredTaxAssetsRelatedToSaleOfProjectAssets>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_gJq2Er4uiU6WHlSnVLC4vA_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">79474000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_zh8Lxz5CrkONMCAdECpziw_12_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">131094000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_soBSk0Zgwk6u7u5q1Ye_iA_13_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2677000</us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses>
    <us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_yPhkw4h6P0aognFL1HSj6A_13_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">190000</us-gaap:DeferredTaxAssetsUnrealizedCurrencyLosses>
    <csiq:DeferredTaxAssetsInterestLimitation
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_FfuP3PgeeUiEj0bw0QgJzQ_14_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14031000</csiq:DeferredTaxAssetsInterestLimitation>
    <csiq:DeferredTaxAssetsInterestLimitation
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_0m1rITsiOUe-rRNSrqQlmw_14_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15471000</csiq:DeferredTaxAssetsInterestLimitation>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_05AXhscn1UuBktFxRRk0UQ_15_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">48761000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_P0LgMmoHkka7-8wTWNdt9g_15_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">62003000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_X1tzL4m1lUiu4WcExRc0Lg_16_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">272714000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_zXKm1KBNMUiE3SHTOsdq8A_16_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">336136000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_OGEIaZ0wlUef5Sza2x1DMQ_17_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">43488000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_au5-y0RVgkKqzCDOHRPxQg_17_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">72678000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_qUuu1jqYHk-WFv0frFDCqA_18_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">229226000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_DKcbBerym0OrrUsereSABg_18_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">263458000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesDerivatives
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_AVu8_9s5vk-IQ2p9qKvlgw_21_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2899000</us-gaap:DeferredTaxLiabilitiesDerivatives>
    <us-gaap:DeferredTaxLiabilitiesDerivatives
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_Q_JJPhGUxkuH4f8q8AhiCA_21_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">654000</us-gaap:DeferredTaxLiabilitiesDerivatives>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_6FHVBwZOzUat38TG76Qz3w_22_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">34914000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_1IoikdrIIk-ZdYW22AauBw_22_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">34625000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <csiq:DeferredTaxLiabilitiesInsuranceRecoverable
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_t6ZFrrxB3EOo_79A15RX_A_23_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">55000</csiq:DeferredTaxLiabilitiesInsuranceRecoverable>
    <csiq:DeferredTaxLiabilitiesInsuranceRecoverable
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_BNd5UtYh7EufKVRNkoQeCQ_23_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">71000</csiq:DeferredTaxLiabilitiesInsuranceRecoverable>
    <us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_Q3xuDQRd0ke0vNJ_yjIMpw_24_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3906000</us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains>
    <us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_pZLAlyyrykGzFQTKHGeJcg_24_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1816000</us-gaap:DeferredTaxLiabilitiesUnrealizedCurrencyTransactionGains>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_9Wjuxn3sCkSrlUJxIdWy5Q_25_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">24856000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_50mo76SjgkKS1rN-nIqVXA_25_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">45662000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_rQkHbtOsTUCxdKmquVz5Yg_26_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">66630000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_wrV3NK3pI0KCqbCLsFV96w_26_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">82828000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_0R4la4qrzkyisTpj6iUbUA_27_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">162596000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_1UbkCvj6cUKqhbEGO1o60g_27_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">180630000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_6WyuRiJmPU-CDugYsggFDA_29_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">229226000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_38AGlzYwR0mAuA9fjCgf4A_29_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">263458000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_oeRQwykE5kerjM0XFUNDPA_30_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">66630000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_XiEGqx4A702RzTPa_yhetA_30_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">82828000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_-K77t8y5d0eVlDYLqtmF2g_31_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">162596000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_30GbgjLqPEu_BN_gf_mQ_w_31_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">180630000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_z19N_66-b0GNb2uuD1FCAg"
      decimals="2"
      id="Narr_0VnQaBU0iU2yJVVe9k0UEg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.05</csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities>
    <csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_uu3AUryx5kWUSPunxZnrUA"
      decimals="2"
      id="Narr_Ouz8ygp2_UOjQakC5Nfs9g"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.10</csiq:WithholdingTaxRateOnDividendDistributedByForeignInvestmentEntities>
    <csiq:WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_valZhrJXmUOm5euaG1WQWQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5350000</csiq:WithholdingIncomeTaxForUndistributedEarningsOfForeignSubsidiaries>
    <us-gaap:UndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_SNBBD7Yp_Ei8rSnx249uuw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">701222000</us-gaap:UndistributedEarningsOfForeignSubsidiaries>
    <us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_VRSPuMRBSkSsClqZ8Eyiqg"
      decimals="-3"
      id="Narr_j13xfOL4AUmbX-NR5Saa_g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">35061000</us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries>
    <us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_u3RxRVI0H0KvHxTn_PKCeg"
      decimals="-3"
      id="Narr_mcTNfFDu_keRE9nHPZUgPg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">70122000</us-gaap:DeferredTaxLiabilityNotRecognizedAmountOfUnrecognizedDeferredTaxLiabilityUndistributedEarningsOfForeignSubsidiaries>
    <csiq:PreferentialWithholdingTaxRate
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Narr_3G2IRBJjS0mr2DXoqoO4vw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.05</csiq:PreferentialWithholdingTaxRate>
    <us-gaap:SummaryOfValuationAllowanceTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_JbwUIThHFEOIZkye7qxejg">&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;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;td style="vertical-align: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;2023&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 43,488&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;Additions (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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 28,819&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#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; 371&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility: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; 72,678&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:SummaryOfValuationAllowanceTextBlock>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2020_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_pVv2KUsf_EaCaqwpl1UBIg"
      decimals="-3"
      id="Tc_RhCjUeg-bUKE4ZOk-9p4QQ_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">50118000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_h837DOEs-0OxiUcAZLhOBA"
      decimals="-3"
      id="Tc_lEKTVR0Qukm65ZbK2k57GQ_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">45682000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_x93Rl_Rk5Ua3O9NiXkTBKQ"
      decimals="-3"
      id="Tc_fyCCvraJ_06Z3TwJ7Qtf3w_4_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">43488000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_a1pOMXEBlE6qtiIrhYgk3Q"
      decimals="-3"
      id="Tc_EreredI5Rkyk5t0qt2rFMQ_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-4671000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_8tGw5yT0gECX0FdgPPnlFw"
      decimals="-3"
      id="Tc_tzsBioib_Eynr9i-5W559g_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1531000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_9GK8X_EqXEuN1Tbf6zPcJA"
      decimals="-3"
      id="Tc_RInpFsuZxkSaQCYapJe1kA_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">28819000</csiq:ValuationAllowancesAndReservesChargedToCostAndExpenseAndRecoveriesNet>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_a1pOMXEBlE6qtiIrhYgk3Q"
      decimals="-3"
      id="Tc_BpsDgwe-3kS_7P-s7r0jCA_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">235000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_8tGw5yT0gECX0FdgPPnlFw"
      decimals="-3"
      id="Tc_axEId-7SXkyFw8is7F4_rA_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-663000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <csiq:ValuationAllowancesAndReservesForeignExchangeEffect
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_9GK8X_EqXEuN1Tbf6zPcJA"
      decimals="-3"
      id="Tc_l-qq84mXIk2PhK1oXBWv_g_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">371000</csiq:ValuationAllowancesAndReservesForeignExchangeEffect>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2021_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_h837DOEs-0OxiUcAZLhOBA"
      decimals="-3"
      id="Tc_dezeYFeIIEmWH9r-TQlUBw_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">45682000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2022_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_x93Rl_Rk5Ua3O9NiXkTBKQ"
      decimals="-3"
      id="Tc_cv3vWPJxRkKhAa-Q8QzuPA_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">43488000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2023_us-gaap_ValuationAllowancesAndReservesTypeAxis_us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember_Jc4jMl6YuUy0GqxcdT3gtQ"
      decimals="-3"
      id="Tc_PwWMUuAUeUqQksM_pYNt6A_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">72678000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_6Sqi78TjbUqBzDBgBOar2w"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">821591000</us-gaap:OperatingLossCarryforwards>
    <csiq:OperatingLossCarryforwardsSubjectToExpiration
      contextRef="As_Of_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_csiq_DomesticAndStateTaxAuthorityMember_NEoo5pfZU0iL0Gd0IX3wbA"
      decimals="-3"
      id="Narr_C9y9JAujRUKKQ4cTnS2r4g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">331767000</csiq:OperatingLossCarryforwardsSubjectToExpiration>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Narr_LQaE4aGZNEaacrYHtglDJw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">43488000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_sPOpH7gR4Uid6jKDPnjHZg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">72678000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Narr_atkPRCen7kK85woaUxo93w"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">961000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_GjIVFfAgKUWwCkqWkDLQ8w"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">956000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_YcZLVET1h0iDRg7IUcFEkQ">&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;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;td style="vertical-align: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;2023&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,770&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (24)&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;"&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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; (1)&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility: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,745&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2020_e4l9AB3P7Ue0Md5J7y_79A"
      decimals="-3"
      id="Tc_QV0I4URCdEqiVv0qCc6vbA_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9628000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ"
      decimals="-3"
      id="Tc_12ycefAvC0S1AreeTE_xXw_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5863000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_qax-i7-XNUStsKJJQcWIVA_4_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4770000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_2TT-WKcjtUefcPsKUdepjg_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3763000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <csiq:UnrecognizedTaxStatueOfLimitationsExpirations
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_PDJxQe5uh0qgObMt-iww0Q_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-678000</csiq:UnrecognizedTaxStatueOfLimitationsExpirations>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_I-YC9AKUUUC4f_jgE0Vg8A_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">24000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_T5dib1Eu50aqmMzRgVvWfw_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_CeBTpFRs302krZz14cql5g_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">415000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_Z3fJp1gI2kKXy0YnPmJqcQ_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ"
      decimals="-3"
      id="Tc_bQN53IBwjk6FmXZvBZBs6g_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5863000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_DTHKpWvx-UaHnbcVPRdwxA_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4770000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_j-fQP6zKE0iRTqevD4MxnQ_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4745000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_m02L-vw5HESNBcQVC7qdTw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;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;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;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.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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.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;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 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;2023&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;(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.38%;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.47%;background:#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;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;&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.38%;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.47%;margin:0pt;padding: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;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="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; 274,187&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;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.47%;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;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;&lt;span 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,290&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;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.47%;border-bottom:3px double #000000;margin:0pt;padding: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;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="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; 279,477&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;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.47%;background:#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;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;&lt;span 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.38%;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.47%;margin:0pt;padding: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;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="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; 65,375,084&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;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 RSUs and share options&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.47%;background:#cceeff;margin:0pt;padding: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;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;&lt;span 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; 546,765&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;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.47%;border-bottom:1px solid #000000;margin:0pt;padding: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;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="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.38%;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.47%;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;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;&lt;span 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; 72,194,006&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;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.47%;border-bottom:3px double #000000;margin:0pt;padding: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;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="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; 4.19&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;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.47%;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;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;&lt;span 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.87&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.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.05%;margin:0pt;padding:0pt;"&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.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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.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;2022&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.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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;RSUs and share options&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.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; 9,295&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.6%;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; 48,598&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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_aEPqc155OkmEQL-ZwsV6ow">&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.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;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;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;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.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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.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;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 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;2023&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;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;(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.38%;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.47%;background:#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;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;&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.38%;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.47%;margin:0pt;padding: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;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="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; 274,187&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;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.47%;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;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;&lt;span 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,290&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;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.47%;border-bottom:3px double #000000;margin:0pt;padding: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;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="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; 279,477&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;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.47%;background:#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;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;&lt;span 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.38%;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.47%;margin:0pt;padding: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;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="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; 65,375,084&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;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 RSUs and share options&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.47%;background:#cceeff;margin:0pt;padding: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;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;&lt;span 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; 546,765&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;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.47%;border-bottom:1px solid #000000;margin:0pt;padding: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;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="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.38%;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.47%;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;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;&lt;span 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; 72,194,006&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;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.47%;border-bottom:3px double #000000;margin:0pt;padding: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;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="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; 4.19&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.38%;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.47%;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;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;&lt;span 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.87&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_NAZUF6DMKUK0NKl4qoyjJQ_5_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">95248000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_fLz7-7PqYUeGSEEomZCxzA_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">239968000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_cVjrnKV9qEqoIjnbZRsSLA_5_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">274187000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_6CGbiu1o6UClgqHYek_jPg_6_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5300000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_1RjHmhjQ00OFV7sKfUJbFA_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5183000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_rsEftHK3qU6uNUV4hcVVnw_6_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5290000</us-gaap:DilutiveSecuritiesEffectOnBasicEarningsPerShareOther>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_l3utqwfrg0aDbBxM-JlF0g_7_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">100548000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_VgP-M0V7q026fA4qJLpqMw_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">245151000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:NetIncomeLossAttributableToParentDiluted
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_kf126v5_RkydwW8Cz_ApUQ_7_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">279477000</us-gaap:NetIncomeLossAttributableToParentDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="0"
      id="Tc_7_ckEXmoPkaDurCurC8hvw_9_3"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">61614391</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="0"
      id="Tc_IfeQFjL0uUCYzWPfuQquyg_9_6"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">64324558</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="0"
      id="Tc_0Xm2Pi3MWkaTUlsalhmetA_9_9"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">65375084</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="0"
      id="Tc_Zplo0z8mhUiiiSZAAV1MKg_10_3"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">985554</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="0"
      id="Tc_kU62gyOogk-lRGTa1Vmtxg_10_6"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">586420</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="0"
      id="Tc_9pa1goJ7rk6YQcyiqkAaxA_10_9"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">546765</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="0"
      id="Tc_5Cs9M1BsI0GXQ6cB2SdgPA_11_3"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">6272157</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="0"
      id="Tc_MBo6BVgt8EKWK7qCWh_QCQ_11_6"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">6272157</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="0"
      id="Tc_qgtn-gTKqEeEbPpMyu3MlQ_11_9"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">6272157</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="0"
      id="Tc_6cEpSxpao0qyEX6WtnCJrQ_12_3"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">68872102</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="0"
      id="Tc_xo5EYUfq_US109wLgSsWHA_12_6"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">71183135</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="0"
      id="Tc_27kKUK0Rhk6FENdAox7k6A_12_9"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">72194006</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="2"
      id="Tc_404FKmJyq02p0WE3_Y-ztg_13_3"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">1.55</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="2"
      id="Tc_dJU5fNqnwUS1eIUuz7kyJA_13_6"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">3.73</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Tc_eUJvBJ8-P0q9macW4hQmow_13_9"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">4.19</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="2"
      id="Tc_NS-AqjH2lky232BmK7JrzQ_14_3"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">1.46</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="2"
      id="Tc_FWSIcwyBI0aQVUuSTulRYw_14_6"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">3.44</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Tc_PmF4MnpE3km7-YK-EgDyoQ_14_9"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">3.87</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_d-8Q7jrJR0i-aNbW8p100A">&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.95%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.05%;margin:0pt;padding:0pt;"&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.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p 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.95%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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.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;2022&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.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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.95%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;RSUs and share options&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.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; 9,295&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.6%;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; 48,598&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:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_FriujmQWhk-aMmGVJAiKxw"
      decimals="INF"
      id="Tc_Lz8rUNyyX0ydG7W2pyLRKQ_3_2"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">3877</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_cHUvZIdoPkWTQHJlgnOESQ"
      decimals="INF"
      id="Tc_9dp1w6YYqkyQfH0Yb5JOoQ_3_4"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">9295</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_csiq_StockOptionsAndRestrictedStockUnitsMember_cfmg6Tw1Gkmw0fnKOuP0CQ"
      decimals="INF"
      id="Tc_BkwkdSynrEu5SCw1mBVQcw_3_6"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">48598</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_zoobWj4acUqUCQ1mDoQaDw">&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 12pt 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 12pt 0pt;"&gt;The amount due from related parties, current of $48,614 and $40,582 and amount due from related parties, non-current of $33,489 and $32,313 as of December 31, 2022 and 2023, respectively, primarily consist of receivables of $52,424 and $33,664 for Horus, respectively, and $29,613 and $36,832 for Recursos, respectively, as of December 31, 2022 and 2023, each the Company&#x2019;s 49% owned affiliates in Mexico.&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 amount due to related parties as of December 31, 2022 and 2023 were $89 and $511, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;"&gt;Dr. Shawn Qu fully guaranteed loan facilities from a Chinese bank of RMB12,000 ($1,882) in 2021. No amount was drawn down under the facilities as of December 31, 2021. Dr. Shawn Qu did not guarantee loan facilities of the Company in 2022 and 2023.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 0pt;"&gt;In 2023, the Company sold one solar power project to CSIF, the Company&#x2019;s 14.54% owned affiliate in Japan, in the amount of JPY230,144 ($1,591). In 2021, the Company sold two solar power projects to CSIF in the amount of JPY30,601,181 ($282,133).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;2&lt;b style="font-weight:bold;"&gt;0. 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 12pt 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 12pt 0pt;"&gt;In 2021, 2022 and 2023, the Company provided asset management service to CSIF in the amount of JPY829,053 ($7,541), JPY545,131 ($4,180) and JPY1,405,513 ($10,004), respectively, and provided power services (O&amp;amp;M) to CSIF in the amounts of JPY981,161 ($9,195), JPY914,933 ($7,036) and JPY984,527 ($6,974), 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;In 2023, the Company sold modules to subsidiaries of Marangatu, the Company&#x2019;s 30% owned affiliate in Brazil with the remaining 70% ownership by a Brazilian investor, in the amount of $100,939.&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 2023, the Company sold modules to subsidiaries of Panati, the Company&#x2019;s 30% owned affiliate in Brazil with the remaining 80% ownership by a Brazilian investor, in the amount of $67,463.&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 2021 and 2022, the Company sold modules to subsidiaries of Francisco, the Company&#x2019;s 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $24,883 and $642, 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;In 2021 and 2022, the Company sold modules to subsidiaries of Lavras, the Company&#x2019;s 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $30,064 and $202, 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;In 2021 and 2022, the Company sold modules to subsidiaries of Salgueiro, the Company&#x2019;s 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amounts of $324 and $357, 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;In 2021, the Company sold modules to subsidiaries of Jaiba, the Company&#x2019;s 20% owned affiliate in Brazil with the remaining 80% ownership by Chinese investors, in the amount of $7,090.&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 2021, 2022 and 2023, the Company provided battery energy storage solutions to subsidiaries of Crimson, the Company&#x2019;s 20% owned affiliate in the U.S. with the remaining 80% ownership by a Canadian infrastructure fund, in the amounts of $19,777, $367,383 and $17,182, 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;In 2021, 2022 and 2023, 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 amounts of RMB10,831 ($1,688), RMB34,772 ($5,192) and RMB58,869 ($8,300), respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;In 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 RMB19,378 ($2,995).&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_M8SCuvwdX0yIO_09T0ld_g"
      decimals="-3"
      id="Narr_jhGWmlzQ2UWGh7glXTqS0A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">48614000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrent
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Narr_LKGvwmMBO0acHxKB11F1pQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">33489000</us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrent>
    <us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrent
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_W6Ej3GGTT0yLdgUyEhwtDw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">32313000</us-gaap:OtherReceivableAfterAllowanceForCreditLossNoncurrent>
    <us-gaap:LoansAndLeasesReceivableRelatedParties
      contextRef="As_Of_12_31_2022_srt_CounterpartyNameAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_z4nKhrEU4EKrGIPFWfZn7A"
      decimals="-3"
      id="Narr_seD9kJsIj0GoCsJqN7IGRg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">52424000</us-gaap:LoansAndLeasesReceivableRelatedParties>
    <us-gaap:LoansAndLeasesReceivableRelatedParties
      contextRef="As_Of_12_31_2023_srt_CounterpartyNameAxis_csiq_HorusSolarS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_H7Yv3Q56lUWudLUfn3e5Og"
      decimals="0"
      id="Narr_s5kw9nI8-0Cw2bkniPhuYQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">33664</us-gaap:LoansAndLeasesReceivableRelatedParties>
    <us-gaap:LoansAndLeasesReceivableRelatedParties
      contextRef="As_Of_12_31_2022_srt_CounterpartyNameAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_aTCBbGanpEGyXk28hchnMw"
      decimals="-3"
      id="Narr_B5oEHFCWfke-CZ7QJSV85w"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">29613000</us-gaap:LoansAndLeasesReceivableRelatedParties>
    <us-gaap:LoansAndLeasesReceivableRelatedParties
      contextRef="As_Of_12_31_2023_srt_CounterpartyNameAxis_csiq_RecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_0NariZOCy0KfQcF0wLrI6w"
      decimals="-3"
      id="Narr_NBUR_sepWkaO984BTrWNQQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">36832000</us-gaap:LoansAndLeasesReceivableRelatedParties>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2022_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_kdB_HttlQkSD-mqa9_cOrQ"
      decimals="2"
      id="Narr_2_xKTQGLF0-Sqv09Lz7YQA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="As_Of_12_31_2023_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_csiq_HorusSolarS.a.DeCapitalVariableHorusAndRecursosSolaresPvDeMxicoIiS.a.DeCapitalVariableRecursosMember_3L-jlL8XikeSPsqiQACsmA"
      decimals="2"
      id="Narr_e2Wi9yNqmkiGdy19kDTHdA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.49</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_M8SCuvwdX0yIO_09T0ld_g"
      decimals="-3"
      id="Narr_WU_jx5G5Rkuafx3NTYvHGg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">89000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_BFgOCPFA00-ZkpkVA9IU5A"
      decimals="-3"
      id="Narr_oK2c8VSzgkCmDUNm8TY99A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">511000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2021_srt_CounterpartyNameAxis_srt_ChiefExecutiveOfficerMember_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_xKvg9vT4ekSCjyWle_ogsA"
      decimals="-3"
      id="Narr_DYGdagPG3ESduAuZU1FLdg"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">12000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_12_31_2021_srt_CounterpartyNameAxis_srt_ChiefExecutiveOfficerMember_us-gaap_LineOfCreditFacilityAxis_csiq_ChineseCommercialBanksMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_xKvg9vT4ekSCjyWle_ogsA"
      decimals="-3"
      id="Narr_Q8QR35ybnU-s2ogfP-shWg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1882000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1mIJGj0-dUi9k9oQMKJNtQ"
      decimals="0"
      id="Narr__MOkdbwRBk2OxeJcBUMgsw"
      unitRef="Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw">1</csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold>
    <us-gaap:EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee
      contextRef="As_Of_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Ea3rD8lUQUiIAC2sTV_VPA"
      decimals="4"
      id="Narr_jvJuDpjy2kemFT8m5MR3Zg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1454</us-gaap:EquityOwnershipPercentageExcludingConsolidatedEntityAndEquityMethodInvestee>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1mIJGj0-dUi9k9oQMKJNtQ"
      decimals="-3"
      id="Narr_i7IpGkGK1kiJ0UhAa1-H6w"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">230144000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_1mIJGj0-dUi9k9oQMKJNtQ"
      decimals="-3"
      id="Narr_yZVXr5GTpken-Z6t0PSrFg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1591000</us-gaap:Revenues>
    <csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_ceHEJ4VvfkqI8sALHoNsvQ"
      decimals="0"
      id="Narr_SSGADH2R20CqymKRBzGnMg"
      unitRef="Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw">2</csiq:AssetsHeldForSaleNumberOfSolarPowerPlantsSold>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_ceHEJ4VvfkqI8sALHoNsvQ"
      decimals="-3"
      id="Narr_3cNbjLOv30eBO0-fVqbQwQ"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">30601181000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_ceHEJ4VvfkqI8sALHoNsvQ"
      decimals="-3"
      id="Narr_yW2jInAf8EqzDI5O0ldPJw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">282133000</us-gaap:Revenues>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_XmTEiQj15U2HdPU2H8xPEA"
      decimals="-3"
      id="Narr_DJ21m0P-cUaHXBBhDb8_sw"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">829053000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_XmTEiQj15U2HdPU2H8xPEA"
      decimals="-3"
      id="Narr_VDsZ4t2Cv0Gb0IXXILz8Zw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7541000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_pC0MBHGY-0y9MFPPOdUDkA"
      decimals="-3"
      id="Narr_XCBIqf7Qdk2EFPjl5Xp6kQ"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">545131000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_pC0MBHGY-0y9MFPPOdUDkA"
      decimals="-3"
      id="Narr_TtNmvNk0KkSEsnUSXyDcOw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4180000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_j3a2P-crm0yC9um6a5EKIA"
      decimals="-3"
      id="Narr_aXHDtsgyLUui5KQNhDYSkw"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">1405513000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_AssetManagementServiceMember_j3a2P-crm0yC9um6a5EKIA"
      decimals="-3"
      id="Narr_YX3smYXfHUSHQ1X9IFOZNQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10004000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Anz1b-Cg1E-m9NJrEADSGQ"
      decimals="-3"
      id="Narr_pLtgNP2ztUWheK8qarOZcw"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">981161000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Anz1b-Cg1E-m9NJrEADSGQ"
      decimals="-3"
      id="Narr_o_e3K70CJU2iPplpJMN_JQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9195000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_RWhvZ7CFnEudaMlqStWp8A"
      decimals="-3"
      id="Narr_VBJg84neXE2g9ukCjlWBjA"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">914933000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_RWhvZ7CFnEudaMlqStWp8A"
      decimals="-3"
      id="Narr_cHaTmroU7020I0JT2y5E1A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7036000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_jlcp7PXgGEGokHr5DOxI3A"
      decimals="-3"
      id="Narr_gnuKyTq5dE27tgVoDwtB2Q"
      unitRef="Unit_Standard_JPY_TcYOuYR7EE6xBuD1AZMBnw">984527000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_CanadianSolarInfrastructureFundIncMember_us-gaap_RelatedPartyTransactionAxis_csiq_OMServiceMember_jlcp7PXgGEGokHr5DOxI3A"
      decimals="-3"
      id="Narr_q7LwA-gw9EeGVkGNVKVAkg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6974000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_MarangatuHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_frZutGOLJ0iRt4hDmkhDAg"
      decimals="2"
      id="Narr_fgIpeXMIY0mCgImMNcdvvQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.30</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ib3OfSU-4UC61ZHtZS629w"
      decimals="2"
      id="Narr_upGcsiA9s0K-9QyM4EX7tA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.70</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_MarangatuHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_frZutGOLJ0iRt4hDmkhDAg"
      decimals="-3"
      id="Narr_VVZI20nJkUG8tWLE3ndMCw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">100939000</us-gaap:Revenues>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_PanatiHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_28_z-FccK0K2_uOZ8hLwVw"
      decimals="2"
      id="Narr_V6VPqFUXz0ejoAbV73NfWg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.30</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_BrazilianInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Z02u3jPX8ku2ZpA852_MZQ"
      decimals="2"
      id="Narr_WdDhYEBUaUiBXHC6XK0GNw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_PanatiHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_28_z-FccK0K2_uOZ8hLwVw"
      decimals="-3"
      id="Narr_TTDTpPRXOEutRR2a2ZskWA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">67463000</us-gaap:Revenues>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_qw83573DS0-MAqArJ_P8SQ"
      decimals="2"
      id="Narr_ByQ1l2wGakmKEFI95PL3FQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_AFbAl9IQYEeLM28PaAfytg"
      decimals="2"
      id="Narr_JwQNugSvokyzuuotYM6QHg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_2po2badM3ECEuY8a15IDsg"
      decimals="2"
      id="Narr_JBWEMvZXM0ShaxqR5U7l8A"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_QDiKVtQG6U-Jyu7SgFLnnQ"
      decimals="2"
      id="Narr_bix2JBSDCEmux3AaEYK-XA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_qw83573DS0-MAqArJ_P8SQ"
      decimals="-3"
      id="Narr_kq8mpIVC6ES10HfjAlEmTg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">24883000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_FranciscoSaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_AFbAl9IQYEeLM28PaAfytg"
      decimals="-3"
      id="Narr_2RfMek_a6Eek5eWH1LeiyQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">642000</us-gaap:Revenues>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LavraSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_yUXt__MmgUK23RD0G4HuCA"
      decimals="2"
      id="Narr_eHEXJD7B1k6mfKQVPNxi-Q"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_LavraSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ETPfk2ZPukqKfxjgT5jTZw"
      decimals="2"
      id="Narr_zCI4Ovjd8UWTryMqJag6yA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_2po2badM3ECEuY8a15IDsg"
      decimals="2"
      id="Narr_kH4r8MOPj06v893qWuOruw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_QDiKVtQG6U-Jyu7SgFLnnQ"
      decimals="2"
      id="Narr_j3wBZTCZd0GtXkYb7KjT1w"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LavraSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_yUXt__MmgUK23RD0G4HuCA"
      decimals="-3"
      id="Narr_rDEdp0DCmUifR-RcYV2MXQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">30064000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_LavraSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ETPfk2ZPukqKfxjgT5jTZw"
      decimals="-3"
      id="Narr_d94MNAotp0qiAuyk2HW-kA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">202000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_SalgueiroSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_B9Zc3M7B60S0kM-UsATnZg"
      decimals="2"
      id="Narr_XjrKpnXsFEKj6rbupZH0nA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_SalgueiroSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_QwmII3n2P024n2JLrEGA4A"
      decimals="2"
      id="Narr_RntT5R1RYUCNSSLczIZSdw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_2po2badM3ECEuY8a15IDsg"
      decimals="2"
      id="Narr_DgSvp9e3tkiPKBTIHU9_xA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_QDiKVtQG6U-Jyu7SgFLnnQ"
      decimals="2"
      id="Narr_q6ehDstSQ0GODpTYBRJdDg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_SalgueiroSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_B9Zc3M7B60S0kM-UsATnZg"
      decimals="-3"
      id="Narr_yQ5t8B9puEeEfD1doiD29w"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">324000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_SalgueiroSolarHoldingS.aMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_QwmII3n2P024n2JLrEGA4A"
      decimals="-3"
      id="Narr_m9ZFvxbYYEilyktK-ZypEA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">357000</us-gaap:Revenues>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_JaibaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_002Ji-v5gUy1Rgc2FkDeWA"
      decimals="2"
      id="Narr_B_LLkoA7xkuJZt1x0PKA6Q"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_2po2badM3ECEuY8a15IDsg"
      decimals="2"
      id="Narr_IfPTlulAA0yT3XmwHFtrRw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_JaibaSolarHoldingS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_002Ji-v5gUy1Rgc2FkDeWA"
      decimals="-3"
      id="Narr_bURgNFHR00SqyR_xzu8iOw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7090000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_FranciscoSaIRenewableEnergyS.a.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_UfbXzRo8LEKgLD_nlx2rzQ"
      decimals="-3"
      id="Narr_4y2S6QuTp0KS9wCgr0HAWg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7090000</us-gaap:Revenues>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_SE9CmfpHo0WMCROYzov2yg"
      decimals="2"
      id="Narr_nu-GP5HjWkykjxv6-W8wTw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ycc9qZBQk0mafxcjI8hU4Q"
      decimals="2"
      id="Narr_dog1IpgmLEKHb8OP8pQTYw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_-1crGEqDbkSMds7G5qUdqg"
      decimals="2"
      id="Narr_jKeelU5b9UqJdK73uF4TkA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_aXw-tRWkLkywJBlWq8iaoQ"
      decimals="2"
      id="Narr_rTV71zLlQkCoc-IjbGR99Q"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_mKj85ykSDkyozgz43Uswsw"
      decimals="2"
      id="Narr_h5WF5ftkskC7Rv730FZd-w"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Ud21gceMmEisGH9Zn4PJ2w"
      decimals="2"
      id="Narr_j8cUlRDeH0Ka4nqZ6jI8Vg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.80</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_SE9CmfpHo0WMCROYzov2yg"
      decimals="-3"
      id="Narr_bqMGezx6QE2-zNI-9LBzSw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">19777000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_ycc9qZBQk0mafxcjI8hU4Q"
      decimals="-3"
      id="Narr__lcE0So59ky2u-3Z0x6f6A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">367383000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_ReCrimsonHoldingsLlcMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_-1crGEqDbkSMds7G5qUdqg"
      decimals="-3"
      id="Narr_JDOcn3HgkEKKC8kW0ZwNZw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17182000</us-gaap:Revenues>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_qpVSMivIa0mhw_oK0dMhlQ"
      decimals="4"
      id="Narr_JCmlha9MBk-sxDyihy4nPQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1091</csiq:PurchaseOfUnitsPercentage>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_IgpbAU-lsk23EMAxjJ_HlA"
      decimals="4"
      id="Narr_O-QN92vnoEunypfVavawTg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1091</csiq:PurchaseOfUnitsPercentage>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_V7tC4d5DXEK-dBeLKqN8AA"
      decimals="4"
      id="Narr_DHz7xx5ED0SSlDUsSy-OmQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1091</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_1-eSsyvD8keX69XYzYx7Xg"
      decimals="4"
      id="Narr_iThwx4PZMEmdgM4TKn-jzw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.8909</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2022_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_FcvvE0HIBkWZqD8Hg-3FnQ"
      decimals="4"
      id="Narr_JHsRRZk8eU2vkP5iG5ddIA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.8909</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2023_dei_LegalEntityAxis_csiq_CanadianInfrastructureFundMember_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_DHZNwT3kuUu1FhkaKJdxRg"
      decimals="4"
      id="Narr_W4VrEpmJZ0yFry6JIIvX7w"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.8909</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_qpVSMivIa0mhw_oK0dMhlQ"
      decimals="-3"
      id="Narr_6Mn2WrGFX0yc3-EjsAWHNw"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">10831000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_qpVSMivIa0mhw_oK0dMhlQ"
      decimals="-3"
      id="Narr_si8G5ZC7skuUhu7vOOfJuw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1688000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_IgpbAU-lsk23EMAxjJ_HlA"
      decimals="-3"
      id="Narr_Ga9Op9C0l0Wr5-IwU4plVQ"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">34772000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_IgpbAU-lsk23EMAxjJ_HlA"
      decimals="-3"
      id="Narr_pBMur_D7nU2-w-h5vA1e6g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5192000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_V7tC4d5DXEK-dBeLKqN8AA"
      decimals="-3"
      id="Narr_GAhMZG2MvUu4atzwYHSIBQ"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">58869000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_CounterpartyNameAxis_csiq_YanchengJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_V7tC4d5DXEK-dBeLKqN8AA"
      decimals="-3"
      id="Narr_-k1ZRH7QKku-5XJA2IfrjQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8300000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <csiq:PurchaseOfUnitsPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Xn-nDz_qwESLHVXBXN43_Q"
      decimals="4"
      id="Narr_0IZmpY5Jkku_XlVi7mXsRA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1091</csiq:PurchaseOfUnitsPercentage>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_12_31_2021_dei_LegalEntityAxis_csiq_ChineseInvestorMember_srt_CounterpartyNameAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_srt_OwnershipAxis_csiq_CanadianSolarInc.Member_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_OP-_1MLHEE-T8iAicucspg"
      decimals="4"
      id="Narr_TqezQpKu2U2_iDy_DqmupA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.8909</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Xn-nDz_qwESLHVXBXN43_Q"
      decimals="-3"
      id="Narr_W7tAgg7ilEKifitnb7UP5g"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">19378000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_CounterpartyNameAxis_csiq_LuoyangJiwaNewMaterialTechnologyCo.LtdMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_RelatedPartyMember_Xn-nDz_qwESLHVXBXN43_Q"
      decimals="-3"
      id="Narr_68KS-SKBlkGXOesxHXdk-A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2995000</us-gaap:RelatedPartyTransactionPurchasesFromRelatedParty>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_zvavpNSxiEaWSFz3cSFq3A">&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 12pt 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, 2023, the commitments for the purchase of property, plant and equipment were approximately $658,523, 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;2024&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; 622,701&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;2025&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; 33,234&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;2026&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; 2,562&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;2027&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; 9&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;2028&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; 17&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; 658,523&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 12pt 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, 2023, the commitments related to construction EPC and other services of the Company&#x2019;s solar power systems were approximately $32,486, 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;2024&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; 29,715&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;2025&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; 2,425&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;2026&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; 346&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; 32,486&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 12pt 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 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&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 12pt 0pt;"&gt;The Company and certain of its directors and executive officers were named as defendants in class action lawsuits in the U.S. and Canada alleging that its 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 &lt;i style="font-style:italic;"&gt;Canada Business Corporations Act&lt;/i&gt; (the Company&#x2019;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 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 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21. COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&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;&#160;Contingencies (Continued)&lt;/span&gt;&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;"&gt;U.S. Antidumping, Countervailing Duty and Safeguard Proceedings&lt;/i&gt;&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 1 China&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;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 12pt 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 12pt 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;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21. COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&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;&#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 12pt 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 12pt 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)% 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;text-indent:18pt;margin:0pt 0pt 12pt 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;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21. COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&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;&#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 12pt 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&#x2019;s remand order, the USDOC made a redetermination that reduced the Company&#x2019;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 12pt 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 12pt 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 12pt 0pt;"&gt;The USDOC published the final results of the ninth administrative reviews in July 2023. The USDOC determined that the Canadian Solar entities subject to the ninth 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 USDOC did not change the Company&#x2019;s countervailing duty rate of 15.87% because the countervailing duty review was rescinded for the Canadian Solar entities subject to the ninth countervailing duty administrative review. The countervailing duty final results were amended in August 2023, but this amendment resulted in no change to USDOC&#x2019;s determination to rescind the review with respect to the Company. The Company did not appeal USDOC&#x2019;s final results of its ninth administrative reviews and, therefore, these decisions are final.&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 tenth and eleventh antidumping duty and countervailing duty administrative reviews were initiated in February 2023 and February 2024 and are currently underway. The USDOC is currently scheduled to release the final results of the tenth antidumping and countervailing duty administrative reviews in May 2024, subject to potential extensions. The Company submitted a no-shipment certification in the tenth administrative reviews. In its preliminary results, USDOC preliminarily determined that the Company had no shipments and stated its intent to rescind the reviews for the Company. The Company&#x2019;s antidumping duty and countervailing duty rates, therefore, are expected to remain the same at 0.00% and 15.87%, respectively. USDOC will likely issue preliminary results of the eleventh administrative reviews in late 2024 or early 2025.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21. COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&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;&#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 12pt 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. In February 2024, the USDOC and USITC initiated the second five - year sunset reviews of the Solar 1 antidumping and countervailing duty orders, and those sunset reviews are currently underway.&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 2 China&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;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 12pt 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 12pt 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 12pt 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 12pt 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 12pt 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;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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;text-indent:18pt;margin:0pt 0pt 12pt 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 12pt 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 12pt 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 12pt 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;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21. COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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 9pt 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 rescinded the eighth administrative review of the Solar 2 China antidumping duty order in July 2023 and therefore, the Company&#x2019;s antidumping duty rates will remain unchanged for its Solar 2 China CSPV products. 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 9pt 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 10pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Solar 3 Southeast Asia&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 9pt 0pt;"&gt;On April 24, 2024, the American Alliance for Solar Manufacturing Trade Committee filed petitions requesting that the USDOC and USITC initiate investigations into whether new AD/CVD duties should be imposed on CSPV cells and modules imported from Cambodia, Malaysia, Thailand, and Vietnam. If the USDOC and USITC initiate these investigations, there is the potential for significant disruptions to imports of solar cells and modules from Cambodia, Malaysia, Thailand (including by Canadian Solar Manufacturing (Thailand) Co., Ltd.), and Vietnam. The USITC will issue its preliminary determinaton on June 7, 2024, and USDOC will likely announce its AD and CVD preliminary determinations on or around September 30 and November 27, 2024, respectively. Canadian Solar is reviewing the petitions, assessing the potential impacts on the Company, and determining appropriate actions to defend its interests.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Section 201 Safeguard&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 9pt 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;text-indent:18pt;margin:0pt 0pt 9pt 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;"&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, &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 9pt 0pt;"&gt;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 9pt 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;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21. COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&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;&#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 12pt 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 12pt 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 12pt 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;text-indent:18pt;margin:0pt 0pt 12pt 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. In November 2023, the Federal Circuit reversed and remanded the CIT&#x2019;s judgment, finding that the President had acted lawfully in issuing Proclamation 10101. Appellees have filed a petition for en banc rehearing in January 2024, and the Federal Circuit&#x2019;s decision on the petition is pending. In October 2022, the Company filed an appeal at the CIT 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 had previously ruled &#x201c;null and void&#x201d; in SEIA. The Company&#x2019;s appeal remains stayed pending final 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 10pt 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;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;21. COMMITMENTS AND CONTINGENCIES (Continued)&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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;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;text-indent:18pt;margin:0pt 0pt 10pt 0pt;"&gt;In late 2023, the USITC conducted its second midterm review of the safeguard measure, issuing its monitoring report in February 2024. The President must consider the USITC&#x2019;s views but is not required to act prior to the expiration of the safeguard in February 2026.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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 10pt 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 10pt 0pt;"&gt;On April 1, 2020, the CITT initiated the expiry review which 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 and declined to make a product exclusion on the Order for bifacial PV modules consisting of either 72 monocrystalline silicon photovoltaic cells or 144 monocrystalline silicon photovoltaic half-cells, with a power output exceeding 515 Watts and module efficiency exceeding 20.5%. 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 before the scheduled termination of the Order on March 24, 2026.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Patent Dispute&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 March 25, 2024, Maxeon Solar Pte. Ltd. (&#x201c;Maxeon&#x201d;) filed a patent infringement lawsuit against Canadian Solar, Inc. in the U.S. District Court for the Eastern District of Texas. Maxeon alleges that by manufacturing, importing, selling, or offering for sale of its TOPCon (Tunnel Oxide Passivated Contact) solar modules in the United States, Canadian Solar, Inc., via its affiliates, has directly and indirectly infringed and continues to infringe upon three patents currently held by Maxeon. The three patents asserted by Maxeon are U.S. Patent Nos. 8222516, 8878053, and 11251315. Maxeon&#x2019;s complaint requests the Court to grant, among other relief, a permanent injunction enjoining Canadian Solar, Inc. from the alleged infringement, and a judgment for monetary damages and fees. The specific amount of monetary damages has not been identified. Based on its preliminary assessment, the Company believes that its TOPCon solar modules do not infringe Maxeon&#x2019;s asserted patents and intends to vigorously defend itself in the lawsuit.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"&gt;From time to time, the Company receives claims that its products infringe patents of third parties. Although the Company has been able to resolve all of those claims or potential claims without a material adverse effect on the Company, other claims are pending, which if resolved unfavorably to the Company could have a material adverse effect on its business and results of operations.&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_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g"
      decimals="-3"
      id="Narr_d0-LG9V2B0-yjTD3VWjsLA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">658523000</us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted>
    <us-gaap:LongTermPurchaseCommitmentTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_PiE0TfW1AUOutloK5kVM5A"
      id="Tb_xC5uxYKuBkyQlToHCa7-Yg">&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;2024&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; 622,701&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;2025&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; 33,234&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;2026&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; 2,562&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;2027&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; 9&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;2028&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; 17&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; 658,523&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LongTermPurchaseCommitmentTextBlock>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths
      contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g"
      decimals="-3"
      id="Tc_4kVdVXE0_EOon9lTB1orTA_2_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">622701000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInSecondYear
      contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g"
      decimals="-3"
      id="Tc_QWTjOm4tT0qUOBZoUf7W7g_3_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">33234000</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:PurchaseObligationDueInThirdYear
      contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g"
      decimals="-3"
      id="Tc_P-O-ZThkrke5q4Z_prFz9A_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2562000</us-gaap:PurchaseObligationDueInThirdYear>
    <us-gaap:PurchaseObligationDueInFourthYear
      contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g"
      decimals="-3"
      id="Tc_5LBkpUa8l067YZROK5-GuQ_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9000</us-gaap:PurchaseObligationDueInFourthYear>
    <us-gaap:PurchaseObligationDueInFifthYear
      contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g"
      decimals="-3"
      id="Tc_nPhMnPQwfkqTtJPpfjfLzw_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17000</us-gaap:PurchaseObligationDueInFifthYear>
    <us-gaap:PurchaseObligation
      contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_PropertyAndEquipmentPurchaseCommitmentMember_2EgF42ofnUO0uwRaNyAM4g"
      decimals="-3"
      id="Tc_ck-ayWiNDE-zgfKiwQgHBw_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">658523000</us-gaap:PurchaseObligation>
    <us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted
      contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_AoFYNYKjuU-GZl3Fn-1t7w"
      decimals="-3"
      id="Narr__R54lkJWf0GiCrsI7EhGxQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">32486000</us-gaap:PurchaseCommitmentRemainingMinimumAmountCommitted>
    <us-gaap:LongTermPurchaseCommitmentTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_CrJgS-1PZEmlOQNTc6kWzQ"
      id="Tb_OztFN0kSNEmQZTuLE9sX0w">&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;2024&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; 29,715&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;2025&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; 2,425&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;2026&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; 346&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; 32,486&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LongTermPurchaseCommitmentTextBlock>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths
      contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_AoFYNYKjuU-GZl3Fn-1t7w"
      decimals="-3"
      id="Tc_-WPpeJnbBEy50SXxdGK1Jg_2_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">29715000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInSecondYear
      contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_AoFYNYKjuU-GZl3Fn-1t7w"
      decimals="-3"
      id="Tc_pEIdRqkSd0mKGk7lmQd6Yg_3_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2425000</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:PurchaseObligationDueInThirdYear
      contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_AoFYNYKjuU-GZl3Fn-1t7w"
      decimals="-3"
      id="Tc_1dWI8_i0KUWPPiwBiHEAnA_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">346000</us-gaap:PurchaseObligationDueInThirdYear>
    <us-gaap:PurchaseObligation
      contextRef="As_Of_12_31_2023_us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis_csiq_SolarPowerSystemCommitmentsMember_AoFYNYKjuU-GZl3Fn-1t7w"
      decimals="-3"
      id="Tc_8VvWFnX850-OCvGaWw3MVQ_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">32486000</us-gaap:PurchaseObligation>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_MBW8oUnAgUudnO5uHUqUKw"
      decimals="4"
      id="Narr_jJSylkpuAEiXyYyNBw1jDQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1394</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_11_30_2012_To_11_30_2012_srt_LitigationCaseAxis_csiq_SolarOneUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_MBW8oUnAgUudnO5uHUqUKw"
      decimals="4"
      id="Narr_5lXpVkpobEmwrnD3Wn2kbw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1524</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2015_To_7_31_2015_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarOneMember_mPGwyYJ960uoI_aWd8xtpg"
      decimals="4"
      id="Narr_MQrdsfMUjUatpHuyH_U68g"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0967</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2015_To_7_31_2015_srt_LitigationCaseAxis_csiq_FirstAdministrativeReviewOfSolarOneMember_mPGwyYJ960uoI_aWd8xtpg"
      decimals="4"
      id="Narr_o5lHbnbUT0aT0uEmCnYsPQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.2094</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2016_To_6_30_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_kgm7rOfsS0Cxz5V-BmWwTg"
      decimals="4"
      id="Narr_-tsquttyb0Oq_4KoglzTAw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0852</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_5_1_2016_To_5_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_eSKnaSta_EWT9gC26WDbjQ"
      decimals="4"
      id="Narr_OHBB6YmIWUWaAYiYISxVXQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0967</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2016_To_7_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_uAufb-IwRUGsBhfSUPNKLw"
      decimals="4"
      id="Narr_xAlTTUcYVkqGSUd1Pgaz9w"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0396</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2016_To_6_30_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_kgm7rOfsS0Cxz5V-BmWwTg"
      decimals="4"
      id="Narr_Y94j8m5PrECDqo8fGYl7bA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0852</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2016_To_7_31_2016_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_uAufb-IwRUGsBhfSUPNKLw"
      decimals="4"
      id="Narr_-JGXnR5Kz0WBAdgsxhRJ3g"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.2094</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_89XR2Wp0S0OHX4lhawwhvA"
      decimals="4"
      id="Narr_lACiHJYOGEex2pzVI06lRw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0000</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_SecondAdministrativeReviewOfSolarOneMember_RuoRRxQF70qeA1lF3M-B5g"
      decimals="4"
      id="Narr_DSOEoLRvTk2v4V3rWptRiQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0396</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_Nbi0w7IM3UGjl2_nyZoxEA"
      decimals="4"
      id="Narr_YfDu-7gBJkyv8OeGSUbr_Q"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1307</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2017_To_9_30_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_oo0O3SSRjkCKQ99nXyeoxw"
      decimals="4"
      id="Narr_oCIq2Q2yeEidwGy0dQ7DRA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0852</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_Nbi0w7IM3UGjl2_nyZoxEA"
      decimals="4"
      id="Narr_wQtt5fMo10Wy2uD9m8DRYw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1816</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2017_To_9_30_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_oo0O3SSRjkCKQ99nXyeoxw"
      decimals="4"
      id="Narr_wdxariRi50GmwOYkOdx74w"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.2094</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_4_1_2020_To_4_30_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_KGHFyhoxbUWAVoYDdolYdg"
      decimals="4"
      id="Narr_UzxGQo-uy0O-pOfmrPOKHw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0412</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2017_To_10_31_2017_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_Nbi0w7IM3UGjl2_nyZoxEA"
      decimals="4"
      id="Narr_zXk3OeAN3UC61Kfkd8NlLw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1307</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_5_1_2020_To_5_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_Sb2yRTyyz0WbYmi2bAwdpQ"
      decimals="4"
      id="Narr_yPkB914Wr0yQxVvSFPBVkg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0319</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_4_1_2020_To_4_30_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_KGHFyhoxbUWAVoYDdolYdg"
      decimals="4"
      id="Narr_pgo9ir4cHUWtV_g1Zv7nGg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0412</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2021_To_12_31_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_PZffFnR0Q0uC5XvQ2E8r3g"
      decimals="4"
      id="Narr_YPF4xvl_4UG_7vCy1e0ojg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0000</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_11_1_2021_To_11_30_2021_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_1RQCOAUCVkKiIAp6Da30dA"
      decimals="4"
      id="Narr_SyRbKMC1_UaHC2h0eh1NXg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0319</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2020_To_8_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_SdA_5OylzUOkk-3trXIAOw"
      decimals="4"
      id="Narr_MSRNobH2NE2HZ71DOUNkbw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0736</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2020_To_7_31_2020_srt_LitigationCaseAxis_csiq_ThirdAdministrativeReviewOfSolarOneMember_IXHrrCsWnEeLYY95Y9ydzQ"
      decimals="4"
      id="Narr_gWpHxqIG50eLPvdTuz7wUw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1816</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_-KUZuvMyY0OIcJ8B7Vjqlg"
      decimals="4"
      id="Narr_MxHd0p7g5EyNfg1lh2KQcw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1307</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_5szvLrOszEetgJ6TcfXe2g"
      decimals="4"
      id="Narr_o2Ug_M3VtkWF_WuDE_SrEA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1159</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2018_To_9_30_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_PfYz0yFd7UO7cdawl0af5A"
      decimals="4"
      id="Narr_eEDGIzTYNkinx4q8uFqvqQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1816</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2018_To_10_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_ixvQ4Q8TFECHwsJUwHx-ag"
      decimals="4"
      id="Narr_v8XWz3rVvEGfAKwWuZlIaw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1064</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2018_To_9_30_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_sCDfNA_zlESeRYp7ejyFfw"
      decimals="4"
      id="Narr_fmSYcZfCb0-iasoGE7haUA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1816</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember__l7g0T_liUSXoMOtd6qHNQ"
      decimals="4"
      id="Narr_f29nSr4DFECIIRaPR5II9w"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0502</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_5szvLrOszEetgJ6TcfXe2g"
      decimals="4"
      id="Narr_z2U-FuyRkUSI4k8wql8OcQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1159</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_1_2023_To_12_31_2023_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_iyfwX_3N6EWKlPAwO_saPQ"
      decimals="4"
      id="Narr_lUeynGn9nUiiPcYcnlytOA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0422</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2018_To_10_31_2018_dei_LegalEntityAxis_csiq_CanadianSolarInternationalLtdMember_srt_LitigationCaseAxis_csiq_FourthAdministrativeReviewOfSolarOneMember_ixvQ4Q8TFECHwsJUwHx-ag"
      decimals="4"
      id="Narr_WRMG4VXfnUqjFjYAT_wyZQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1064</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_5bjvopJ-1kaQZedS48lUgA"
      decimals="4"
      id="Narr__egCQbUR0Ee2f59xKcfufw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0406</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2018_To_7_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_AUuJaAgpK0qW1mkmsVnVhg"
      decimals="4"
      id="Narr_qpv88jkj4EyJaaeslfzCCA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1307</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_5bjvopJ-1kaQZedS48lUgA"
      decimals="4"
      id="Narr_vb-tmybLxEuhK8m4Ml7RvQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0970</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2018_To_10_31_2018_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_O-McbgaYy0OK2DRThtIfiw"
      decimals="4"
      id="Narr_GaiMWzflC0yELqO3FU9YKw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1159</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_PxUdFumf9k-pizc28y3_9Q"
      decimals="4"
      id="Narr_-N5A63SJzk2CvBGLtrbX6Q"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0970</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2019_To_7_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_DwwoB_GK5Ea3DYk4s40iJA"
      decimals="4"
      id="Narr_DGdKuv72VkqrtAxwmPlK1Q"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0330</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2019_To_8_31_2019_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_5bjvopJ-1kaQZedS48lUgA"
      decimals="4"
      id="Narr_4vdxkk-8Xk6huH--RFv23A"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0406</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_5_1_2021_To_5_31_2021_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_qhX774MnukqIoaOqh6w9yQ"
      decimals="4"
      id="Narr_r-L0tJi18kGkZjzJ2y0_kg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0365</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_4_1_2021_To_4_30_2021_srt_LitigationCaseAxis_csiq_FifthAdministrativeReviewOfSolarOneMember_Sm1KCi8jiUyEL0QqDXV9UQ"
      decimals="4"
      id="Narr_G_o2ZWilc0m9ymhP2ZiXNA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0970</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2020_To_10_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_8DKp1TAD7kCC4CXW7MrVVw"
      decimals="4"
      id="Narr_YXTxHKS0qUaiWu0JJDwCZQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.6893</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_11_1_2020_To_11_30_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_EckpAfuLFUCVKmVwLonw1g"
      decimals="4"
      id="Narr_ecbJlMs9XkqZlCUF-frhYw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1307</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_kPg-x5rcIUaT-agD-nmATg"
      decimals="4"
      id="Narr_uzM6T2szpEq1hyxWvyzARQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.9550</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_G0VhCxDLwUK9GRSY5bFNxg"
      decimals="4"
      id="Narr_FZUcwSgI5E6LL0vHBhn9Ug"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.6893</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_kPg-x5rcIUaT-agD-nmATg"
      decimals="4"
      id="Narr_4AnZv8fHTEa_wISzfHIVwg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1267</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_yXA-ayxWUEiTTjWBeLKEwA"
      decimals="4"
      id="Narr_4rOU0Y2ZH0-yVtDo345QnQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0970</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_lfxIHvS12EO8acPiljynRg"
      decimals="4"
      id="Narr_MGJp-9fWsU2Pnpp1KjsbnA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1197</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2020_To_12_31_2020_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_kPg-x5rcIUaT-agD-nmATg"
      decimals="4"
      id="Narr_lRZDFK3FG0G1Jsp1uRmmmA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1267</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_3_1_2023_To_3_31_2023_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_Q8Rzd5gZVEObciQqjwCE5A"
      decimals="4"
      id="Narr_XNXb-p4RXkiG_4ayaOKYNg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.2302</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_vM2Lm382lk6D4F3aweF9Pw"
      decimals="4"
      id="Narr_alLx9bYz6UmIlPcA3XuwwA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.9550</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_3_1_2021_To_3_31_2021_srt_LitigationCaseAxis_csiq_SixthAdministrativeReviewOfSolarOneMember_FD4bAw49Uku-67u6a8uHyw"
      decimals="4"
      id="Narr_Suf41j-WukOPyRe-SFS64w"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1197</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2021_To_10_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_hukhFcXhDkCcgWiOxgHQvQ"
      decimals="4"
      id="Narr_abVaqpyC-U-ZSUNQg_04ng"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0000</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_3qvD5LTXU0GhruP5UsITeA"
      decimals="4"
      id="Narr_RyB-6x8znkSMoPU4hU965A"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.9550</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_3CFW47ounUeMsWfyd45nvQ"
      decimals="4"
      id="Narr_Tku4vnoDtEqDrTJNNym7LQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1928</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_KOuy-J1ps0qjj2hDe8kQ7Q"
      decimals="4"
      id="Narr_ShT2-YVAYkmy5yegZNHu2A"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1197</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2021_To_7_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_KOuy-J1ps0qjj2hDe8kQ7Q"
      decimals="4"
      id="Narr_baA_r9H1skiaCOBwExbX1w"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1197</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_10_1_2021_To_10_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_hukhFcXhDkCcgWiOxgHQvQ"
      decimals="4"
      id="Narr_ikQGpJvLpkKSaxPpfM2VZg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0000</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2021_To_8_31_2021_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarOneMember_3CFW47ounUeMsWfyd45nvQ"
      decimals="4"
      id="Narr_hz86wbgPs0uMtEUv2oTpBA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1928</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2022_To_6_30_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_VutT7k3FMUet_UXlb-i9Rg"
      decimals="4"
      id="Narr_UqKkHY5pRkyeKY_4ZMCZRA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0000</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2022_To_8_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_YmlVGq_lzkGer9Zdcx9xxQ"
      decimals="4"
      id="Narr_c1c6CNOhVEO-hgOHfH_tcw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1575</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2022_To_7_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_uG5SlgRCJEW02OHHvKL_EQ"
      decimals="4"
      id="Narr_sArw06lQgU-4LAwnJpXkTw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1928</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2022_To_9_1_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_BQcztLydUkaJeSUcbtoZOA"
      decimals="4"
      id="Narr_oFeWWnKrEEuORtvQrVMsdw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1587</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_8_1_2022_To_8_31_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_YmlVGq_lzkGer9Zdcx9xxQ"
      decimals="4"
      id="Narr_kMEzWNxO3kGs0JlMWSUh0g"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1575</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2022_To_9_1_2022_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarOneMember_BQcztLydUkaJeSUcbtoZOA"
      decimals="4"
      id="Narr_6fbvqi5QWE6t__FsDyZdrQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1587</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2023_To_7_31_2023_srt_LitigationCaseAxis_csiq_NinthAdministrativeReviewOfSolarOneMember_aA2F1Vd47kCP_OgUX76-Ww"
      decimals="4"
      id="Narr_FdsQaG_o8UKCpnn9jntYJQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0000</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2022_To_9_30_2022_srt_LitigationCaseAxis_csiq_NinthAdministrativeReviewOfSolarOneMember_fxd3ftggRkm2WQfyGJt7Cw"
      decimals="4"
      id="Narr_eVv1z8vCA0G68fxZ7Uq8IQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1587</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_2_1_2023_To_2_28_2023_srt_LitigationCaseAxis_csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember_skyJxd9QK0iQ82WszYi2Rw"
      decimals="4"
      id="Narr_bgA8I0Wknk66OIMZcNsRIQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0000</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_2_1_2024_To_2_29_2024_srt_LitigationCaseAxis_csiq_TenthAndEleventhAdministrativeReviewOfSolarOneMember_-CaVnWmnQkyRGKgKo6s4tg"
      decimals="4"
      id="Narr_OXBN-9ELhku6SX_xDkifCA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.1587</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_21_2015_To_1_21_2015_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_OF5CM1u4b06EQxkSxkVnDg"
      decimals="4"
      id="Narr_YQiv1DWzv0y9J1zzr0aW-Q"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_1_21_2015_To_1_21_2015_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_OF5CM1u4b06EQxkSxkVnDg"
      decimals="4"
      id="Narr_PQ7RBpsBzEiMFe4GQNi4xA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3843</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_3_1_2019_To_3_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_MHzyFRF_MUOHhrJgKhNZow"
      decimals="4"
      id="Narr_lmTSyP3DhE6afk51ArRsFA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_2_1_2019_To_2_28_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_D_nrzaV4fUmGZi11rL2kcw"
      decimals="4"
      id="Narr_McmLFIq7KEKj6DbvF3Nvkg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3843</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Hx2NWKrpBk2J0cOeH6qlkQ"
      decimals="4"
      id="Narr_Y3QWs2et0Eef8k449LRttQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Hx2NWKrpBk2J0cOeH6qlkQ"
      decimals="4"
      id="Narr_GmAJnFfcWUOp3K0PweQkNQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_WdWpAqLWpEG6wSdz1CZzVQ"
      decimals="4"
      id="Narr_nUZdpKL7_UyAofaZXJkc1Q"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0356</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_7_1_2017_To_7_31_2017_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_ShbveCe6ZEWydSoLGHURoQ"
      decimals="4"
      id="Narr_pXGJIRiRYU2rB79OlFAPvQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0420</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MinimumMember_HXuLyZ2gsEGoRT7Jeb7aww"
      decimals="4"
      id="Narr_PBjbd6KnWUu6tsdWc5I-aA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0152</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_srt_RangeAxis_srt_MaximumMember_BpcVD74KVU2EtLP5wyOXdw"
      decimals="4"
      id="Narr_aumlICEARUK4aK9yled3-A"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0378</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Sks3iFA59k2qPAMbjDGAhg"
      decimals="4"
      id="Narr_Ph0uj0eh20iwG-tods59ng"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Sks3iFA59k2qPAMbjDGAhg"
      decimals="4"
      id="Narr_DWqjf3b5AkWcswCnnvUhCg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Sks3iFA59k2qPAMbjDGAhg"
      decimals="4"
      id="Narr_x66f-O5160WOgUtGvsJgew"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0133</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Z5MXXKLn0kydFbIL5W2GOw"
      decimals="4"
      id="Narr_GZKKOMK8qEi_Jo6qEYQGFA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Z5MXXKLn0kydFbIL5W2GOw"
      decimals="4"
      id="Narr_rA7eg1MBsECMGSvndtyqEw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Z5MXXKLn0kydFbIL5W2GOw"
      decimals="4"
      id="Narr_cSBMTR5o-ESxCffqHWzRtg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0439</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2018_To_6_30_2018_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Sks3iFA59k2qPAMbjDGAhg"
      decimals="4"
      id="Narr_7wccayzwXE2tNktSEXHQ5g"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0133</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_3tfUf-3mtEmOpVSni7ayGg"
      decimals="4"
      id="Narr_LnRfqpnr30iQGSs-N4lw3Q"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_3tfUf-3mtEmOpVSni7ayGg"
      decimals="4"
      id="Narr_3FGOqWwG3Uy9XK3JsVwKkQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_12_1_2019_To_12_31_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_3tfUf-3mtEmOpVSni7ayGg"
      decimals="4"
      id="Narr_xbopmLj2702rrooFFck4iQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0257</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate
      contextRef="Duration_6_1_2019_To_6_30_2019_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_Z5MXXKLn0kydFbIL5W2GOw"
      decimals="4"
      id="Narr_FG5XmgfxvkmQHthpdCXs6g"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.0439</csiq:LossContingencyDutyRateAntiDumpingDutyOnCspvCellsImportedFromTaiwanOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_fMAuhT758EmMQd-wWfPI7w"
      decimals="4"
      id="Narr_bDUaxox1BEOGNEzDZSR_YA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_fMAuhT758EmMQd-wWfPI7w"
      decimals="4"
      id="Narr_yKA1cgfv8kOUwTGTYOZZqg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_fMAuhT758EmMQd-wWfPI7w"
      decimals="4"
      id="Narr_8rQ8RWdZ4kWP5ibd_eYkgA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3006</csiq:LossContingencyCashDepositRateAntiDumpingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_9_1_2021_To_9_30_2021_srt_LitigationCaseAxis_csiq_SolarTwoUsAntidumpingCountervailingDutyAndSafeguardProceedingsMember_fMAuhT758EmMQd-wWfPI7w"
      decimals="4"
      id="Narr_uzYHVN6cM0aAAFSRVWydeA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_4_1_2022_To_4_30_2022_srt_LitigationCaseAxis_csiq_SeventhAdministrativeReviewOfSolarTwoMember_kCATClntzkuCy7-CFeGS4A"
      decimals="4"
      id="Narr_EUEdhLlSqUOqsFYoC5KOrA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate
      contextRef="Duration_4_1_2023_To_4_30_2023_srt_LitigationCaseAxis_csiq_EighthAdministrativeReviewOfSolarTwoMember_AkAG_jMUpE2ucQB4CtwQiQ"
      decimals="4"
      id="Narr_ZqixI7omrU-iSSAi-ZXu5g"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3358</csiq:LossContingencyCashDepositRateCountervailingDutyOnCSPVCellsImportedFromChinaOnOrAfterSpecificDate>
    <csiq:NumberOfMonocrystallineSiliconPhotovoltaicCells
      contextRef="Duration_4_1_2020_To_4_30_2020_BsJ8sFNrzUOWhL7oL8shQQ"
      decimals="INF"
      id="Narr_DXkQjiStQk6NzBueMzx5JA"
      unitRef="Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw">72</csiq:NumberOfMonocrystallineSiliconPhotovoltaicCells>
    <csiq:NumberOfMonocrystallineSiliconPhotovoltaicHalfCells
      contextRef="Duration_4_1_2020_To_4_30_2020_BsJ8sFNrzUOWhL7oL8shQQ"
      decimals="INF"
      id="Narr_NggYd2zj80OMWXYF7kdgew"
      unitRef="Unit_Standard_item_A65qfKf2X0OZgQMzbVINlw">144</csiq:NumberOfMonocrystallineSiliconPhotovoltaicHalfCells>
    <csiq:MinimumModuleEfficiency
      contextRef="Duration_4_1_2020_To_4_30_2020_BsJ8sFNrzUOWhL7oL8shQQ"
      decimals="3"
      id="Narr_EFcFahkZ7kGuObjPMT2SdQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.205</csiq:MinimumModuleEfficiency>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_2EZ90Q5420S1qR5SpkbHTg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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;"&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. To align with the objective of ASC 280, Segment Reporting (&#x201c;Topic 280&#x201d;) and to present the Company&#x2019;s disaggregated financial information consistent with the management approach, the Company reported 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&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 and battery energy storage manufacturing, and delivery of total system solutions, including inverters, solar system kits and EPC (engineering, procurement, and construction) services. CSI Solar&#x2019;s e - STORAGE branded battery energy storage business includes its utility - scale turnkey battery system solutions, as well as a small but growing residential battery energy storage business. 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&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;Recurrent 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 is the Company&#x2019;s clean energy project development platform with 15 years of experience delivering solar power and battery energy storage projects. It is vertically integrated and has strong expertise in greenfield origination, development, financing, execution, operations and maintenance, and asset management.&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 energy storage solutions sales from the Company&#x2019;s CSI Solar business to its Recurrent 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, gross profit and income from operations, 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;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, 2023&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:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recurrent&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;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;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; 7,230,550&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; 497,653&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; (114,577)&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,613,626&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; 6,121,332&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; 292,926&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; (80,615)&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,333,643&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,109,218&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; 204,727&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; (33,962)&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,279,983&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; 456,083&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; 96,621&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; (99,384)&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; 453,320&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-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, 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:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recurrent&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;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;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;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:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recurrent&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;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;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;&#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; 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;&#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; 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;&#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; 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;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;/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 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 0pt 12pt 0pt;"&gt;During the years ended December 31, 2021, 2022 and 2023, $6,084, $60,330 and $5,938 of long-lived asset impairment charges, respectively, were recorded related to property, plant and equipment in CSI Solar segment. In addition, the Company recorded nil, $357 and nil of investment impairment in the CSI Solar segment, and $17,152, $1,674 and $16,239 of project assets impairment in the Recurrent Energy segment, for the years ended December 31, 2021, 2022 and 2023, 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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;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;td style="vertical-align: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;2023&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,485,919&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 846,387&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 52,525&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;Mexico&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 139,611&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,912&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,884&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;Puerto Rico&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,344&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 22,353&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 37,922&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,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;&#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;&lt;span style="visibility: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; 46,210&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 65,581&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 112,845&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;&lt;span 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;&#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,279,594&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#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; 2,793,651&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#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; 2,616,145&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;Asia:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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;"&gt;&#x2014;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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,207,003&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,904,862&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,151,243&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;&#x2014;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 509,233&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 325,344&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 597,188&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;India&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 142,300&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 197,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; 91,020&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;Pakistan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 48,838&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 73,531&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 78,203&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;Philippines&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,660&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 26,578&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 40,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;&#x2014;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,979&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 46,254&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 32,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;"&gt;&#x2014;United Arab Emirates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 6,168&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,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; 22,915&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,369&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;Vietnam&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 19,956&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,078&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 16,208&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;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; 59,451&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,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%;margin:0pt;padding: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,217&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; 121,780&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 63,034&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 65,814&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 3,125,496&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 445,321&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;Germany&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 231,995&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 322,189&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 291,385&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 218,596&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 144,994&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;Norway&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 157&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,231&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,769&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 128,247&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;Netherlands &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 104,715&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 136,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; 81,820&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;Italy&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,531&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,465&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 79,041&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 62,079&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 41,611&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin: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; 24,491&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,341&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; 78,040&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility: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; 171,895&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility: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; 192,290&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;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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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,871,985&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;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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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,613,626&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;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;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 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 long-lived assets, including property, plant and equipment, solar power systems, intangible assets and ROU assets at December 31, 2022 and 2023 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.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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:1.85%;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p 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.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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&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;2023&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;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;margin:0pt;padding:0pt;"&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.93%;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.85%;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,668,177&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 2,398,130&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;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 691,467&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;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 5,545&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 528,538&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;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 242,761&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 409,211&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;EU&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 99,738&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;Argentina&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 63,526&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;Colombia&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 61,847&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;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 13,164&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;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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; 6,200&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 11,401&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;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; 5,770&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 19,667&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;Total long-lived assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:3px double #000000;margin:0pt;padding: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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 4,296,689&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.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:2.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:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:11.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;font-weight: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.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;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.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;font-weight: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;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.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;2022&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.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;2023&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.66%;margin:0pt;padding:0pt;"&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.34%;margin:0pt;padding:0pt;"&gt;&lt;p 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.66%;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.34%;background:#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.66%;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; 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.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; 5,534,379&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.34%;margin:0pt;padding: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,941,345&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.66%;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; 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.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; 538,157&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.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 679,350&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Battery energy storage solutions&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.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; 440,716&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.34%;margin:0pt;padding: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,173&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.66%;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;EPC and 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; 299,997&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; 133,833&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.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 250,105&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Recurrent 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.34%;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.66%;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 power and battery energy storage asset 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;margin:0pt;padding: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.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; 761,677&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.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 399,098&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Power services (O&amp;amp;M) and asset management&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.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; 33,776&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.34%;margin:0pt;padding: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,379&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.66%;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;Electricity revenue from operating portfolio and 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;border-bottom:1px solid #000000;margin:0pt;padding: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.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; 26,072&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.34%;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; 46,176&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.66%;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; 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.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; 7,468,610&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.34%;border-bottom:3px double #000000;margin:0pt;padding: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,613,626&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 0pt 5pt 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_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="INF"
      id="Narr_baAVLnka4k6Q5k3R58ponQ"
      unitRef="Unit_Standard_segment_uP6_O8BSvki0TrrpY9QbPQ">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_azd5Q57e_0OCbHmhtoMT0Q">&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, 2023&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:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recurrent&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;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;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; 7,230,550&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; 497,653&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; (114,577)&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,613,626&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; 6,121,332&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; 292,926&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; (80,615)&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,333,643&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,109,218&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; 204,727&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; (33,962)&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,279,983&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; 456,083&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; 96,621&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; (99,384)&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; 453,320&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-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, 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:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recurrent&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;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;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;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:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recurrent&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;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;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;&#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; 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;&#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; 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;&#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; 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;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;/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_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zinVFX3aokanfDZRgZkXQw"
      decimals="-3"
      id="Tc_lwnXaPhqokmIIp29t46QIg_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7230550000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_bHo0HXx1D0uwA9lxh-JWVA"
      decimals="-3"
      id="Tc_gvFe_zmy0k6dTneOyzDv-w_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">497653000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qu1OMIJPIkuk-CFSjk6hnw"
      decimals="-3"
      id="Tc_tEQOvtLT6USg-q05G7Fk_Q_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-114577000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_cl2rboqT7ES4JqnIsojkZQ_7_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7613626000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zinVFX3aokanfDZRgZkXQw"
      decimals="-3"
      id="Tc_JZnd5m3NOUiIn4iw5T-mqg_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6121332000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_bHo0HXx1D0uwA9lxh-JWVA"
      decimals="-3"
      id="Tc_z04vsxjpYE-0QAaPziB1ag_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">292926000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qu1OMIJPIkuk-CFSjk6hnw"
      decimals="-3"
      id="Tc_5IaCuk0ZGEK1Xr1gmzqNnw_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-80615000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_41oeJM6XP0mZdTYfdmhw9A_8_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6333643000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zinVFX3aokanfDZRgZkXQw"
      decimals="-3"
      id="Tc_Ycb6lTSEaEW_wXVu1ya4aw_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1109218000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_bHo0HXx1D0uwA9lxh-JWVA"
      decimals="-3"
      id="Tc_Y9IyxXealkO1nB_oGl1fFg_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">204727000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qu1OMIJPIkuk-CFSjk6hnw"
      decimals="-3"
      id="Tc_UZG4pfrHbki_SxS23ai5QQ_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-33962000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_izzONrMIe0-yizs5D8iuEw_9_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1279983000</us-gaap:GrossProfit>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_zinVFX3aokanfDZRgZkXQw"
      decimals="-3"
      id="Tc_HJSgyOBeQUGDEiUhf0Bk7Q_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">456083000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_bHo0HXx1D0uwA9lxh-JWVA"
      decimals="-3"
      id="Tc_4wr4NZ7WlECdPHG_zSMYBQ_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">96621000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_qu1OMIJPIkuk-CFSjk6hnw"
      decimals="-3"
      id="Tc_ydlmZDzaiEyhh5HSnDDRQw_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-99384000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_-bMWcRTtmkCkduc5RJca2w_10_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">453320000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_hjI2PV1IrEShhHY3CZuoPQ"
      decimals="-3"
      id="Tc_Hcp6lF2-WUOFxPmiVSTlXw_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_RecurrentEnergySegmentMember_EijStfG6KUGjlSxi6sTKww"
      decimals="-3"
      id="Tc_6Dv96pw2AkCBIiwP839XCw_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">821525000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_zB9vTCyNQEmqlzOtiZjn1g"
      decimals="-3"
      id="Tc_ig_yE2xawkCBN7d30CUFug_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-328527000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_dTjypRsH9EaxFpMaSvcilQ_7_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_hjI2PV1IrEShhHY3CZuoPQ"
      decimals="-3"
      id="Tc_D0iLAPmcnU6m6wq5fsTg9w_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_RecurrentEnergySegmentMember_EijStfG6KUGjlSxi6sTKww"
      decimals="-3"
      id="Tc_JRg1e8sz40WR4EUzo9R66Q_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">660161000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_zB9vTCyNQEmqlzOtiZjn1g"
      decimals="-3"
      id="Tc_e1AaTfxBnk2P_cfbYm7NAg_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-279542000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_nxrbBSJA302sEpZF2WFLsQ_8_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_hjI2PV1IrEShhHY3CZuoPQ"
      decimals="-3"
      id="Tc_iZ_FyPzFZ0WyIMnLsz-vKw_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_RecurrentEnergySegmentMember_EijStfG6KUGjlSxi6sTKww"
      decimals="-3"
      id="Tc_F3I9Y27pkUGFDtDHWN2Mbg_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">161364000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_zB9vTCyNQEmqlzOtiZjn1g"
      decimals="-3"
      id="Tc_NketFcAKxUqDQL-I-3CezQ_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-48985000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_x_1-3ByIxEKb0Tq_oFoP_w_9_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_hjI2PV1IrEShhHY3CZuoPQ"
      decimals="-3"
      id="Tc_9nwKD4-QTk-Hu4_J5lczGQ_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_RecurrentEnergySegmentMember_EijStfG6KUGjlSxi6sTKww"
      decimals="-3"
      id="Tc__gz-NPvrAEygL6Z_F5W1yw_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">80364000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_zB9vTCyNQEmqlzOtiZjn1g"
      decimals="-3"
      id="Tc_jjOGx5CJYUS0AYzOSlo0CQ_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-68101000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_1FLSSY7l50OEP4eZ8vnWGQ_10_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_kRfzJhOT60KDxqhzmODneA"
      decimals="-3"
      id="Tc_-eyNKijedkyzwBxQrsYUEQ_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_RecurrentEnergySegmentMember_rzCETBtpCEC-C092Ogt9WA"
      decimals="-3"
      id="Tc_u-Cjvf-RR06hyNDVWQkDgw_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1124083000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_OlTRk41z-UmMX4uslYPZRQ"
      decimals="-3"
      id="Tc_vM20KlB8aU6EdGHdiTycOQ_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-218517000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_LCkNDkJYLkapdaVCc8wswA_7_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_kRfzJhOT60KDxqhzmODneA"
      decimals="-3"
      id="Tc_4TXMgyl-u0KRCLPsD8zzlg_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_RecurrentEnergySegmentMember_rzCETBtpCEC-C092Ogt9WA"
      decimals="-3"
      id="Tc_nBW-zVoj5U6X6Fljsmk1wQ_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">930099000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_OlTRk41z-UmMX4uslYPZRQ"
      decimals="-3"
      id="Tc_gJg0d2pOMkO6H0vMRDE0zA_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-251368000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_1uRsVmT2Wk6EJAVmJ3AMrw_8_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_kRfzJhOT60KDxqhzmODneA"
      decimals="-3"
      id="Tc_6ue8PXspOE-sZEfBiVUgcQ_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_RecurrentEnergySegmentMember_rzCETBtpCEC-C092Ogt9WA"
      decimals="-3"
      id="Tc_kLtbJAPk80Gdb4QLsLqZAQ_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">193984000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_OlTRk41z-UmMX4uslYPZRQ"
      decimals="-3"
      id="Tc_57O3DaERx0aquvozMbql1g_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">32851000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_GYN4Lz8QmUqTeaL_2TLuQw_9_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_kRfzJhOT60KDxqhzmODneA"
      decimals="-3"
      id="Tc_CTimtp55l0CI0FsTTBe62w_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_RecurrentEnergySegmentMember_rzCETBtpCEC-C092Ogt9WA"
      decimals="-3"
      id="Tc_JxgNOqHuuUaO6QTkmHBvhA_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">97179000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidationItemsAxis_csiq_EliminationsAndReconcilingItemsMember_OlTRk41z-UmMX4uslYPZRQ"
      decimals="-3"
      id="Tc_AKu0E0LFL0eBGNt8R8pHAQ_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">19070000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_4oRAwvsYTE-hR-WmSt-TPA_10_8"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">190381000</us-gaap:OperatingIncomeLoss>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="INF"
      id="Narr_uc_wxZWhiEmx348fGyHjvg"
      unitRef="Unit_Standard_segment_uP6_O8BSvki0TrrpY9QbPQ">2</us-gaap:NumberOfReportableSegments>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_c6o6Jzf53Ues3B-5-gFjyA"
      decimals="-3"
      id="Narr_9jRK6pvNN0yYs4wdRGJzaA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6084000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_oxxmDWsae0qVjA64quepWw"
      decimals="-3"
      id="Narr_De9EL3HcO0qDAK2I3EtcuA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">60330000</us-gaap:AssetImpairmentCharges>
    <us-gaap:AssetImpairmentCharges
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2ypg_nqbgkuBccdVNZrv1g"
      decimals="-3"
      id="Narr_rbJ6dfqeDkiYvf-Nvg0WBQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5938000</us-gaap:AssetImpairmentCharges>
    <csiq:InvestmentsInAffiliatesImpairmentCharge
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_c6o6Jzf53Ues3B-5-gFjyA"
      decimals="-3"
      id="Narr_CKZEr6OSOUuSDn6dUsDU3g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">0</csiq:InvestmentsInAffiliatesImpairmentCharge>
    <csiq:InvestmentsInAffiliatesImpairmentCharge
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_oxxmDWsae0qVjA64quepWw"
      decimals="-3"
      id="Narr_8tN90_cuK0qqCAiohejRCQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">357000</csiq:InvestmentsInAffiliatesImpairmentCharge>
    <csiq:InvestmentsInAffiliatesImpairmentCharge
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_2ypg_nqbgkuBccdVNZrv1g"
      decimals="-3"
      id="Narr_a-kSYHwRf0WPuYWIDDQqhQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">0</csiq:InvestmentsInAffiliatesImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_H47JQc1Mx0mXJ-WXemy37g"
      decimals="-3"
      id="Narr_539wk2vUq06ZWldVa4CYUQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17152000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_OHKPzzY1gUiS5qdbOmwDTg"
      decimals="-3"
      id="Narr_MkZYZ1GF-0S2r1gfkOhZwg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1674000</csiq:ProjectAssetsImpairmentCharge>
    <csiq:ProjectAssetsImpairmentCharge
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_Femt3TG9F0C0hlkbCbCc6A"
      decimals="-3"
      id="Narr_bkp2JeLYS0G8YzJwTjehTA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">16239000</csiq:ProjectAssetsImpairmentCharge>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_Nn5sDoaV4kOJcsZGNp5PNQ">&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;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;td style="vertical-align: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;2023&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,485,919&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 846,387&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 52,525&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;Mexico&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 139,611&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,912&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,884&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;Puerto Rico&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,344&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 22,353&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 37,922&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,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;&#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;&lt;span style="visibility: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; 46,210&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 65,581&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 112,845&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;&lt;span 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;&#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,279,594&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#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; 2,793,651&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#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; 2,616,145&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;Asia:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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;"&gt;&#x2014;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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,207,003&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,904,862&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,151,243&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;&#x2014;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 509,233&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 325,344&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 597,188&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;India&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 142,300&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 197,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; 91,020&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;Pakistan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;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; 48,838&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 73,531&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 78,203&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;Philippines&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,660&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 26,578&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 40,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;&#x2014;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,979&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 46,254&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 32,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;"&gt;&#x2014;United Arab Emirates&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.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; 6,168&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,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; 22,915&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,369&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;Vietnam&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 19,956&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,078&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 16,208&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;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; 59,451&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,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%;margin:0pt;padding: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,217&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; 121,780&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 63,034&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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; 65,814&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 3,125,496&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 445,321&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;Germany&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 231,995&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 322,189&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 291,385&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 218,596&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 144,994&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;Norway&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 157&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,231&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,769&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 128,247&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;Netherlands &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 104,715&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 136,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; 81,820&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;Italy&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,531&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,465&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 79,041&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 62,079&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 41,611&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin: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; 24,491&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,341&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; 78,040&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility: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; 171,895&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility: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; 192,290&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;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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#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,871,985&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;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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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,613,626&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_US_iYJMV6XS90uxCevUZ03DIA"
      decimals="-3"
      id="Tc_J-RChh7xFUejfI9K0_TDXQ_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1590573000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_US_rClnIs8XHE6ardczfoeA7Q"
      decimals="-3"
      id="Tc_Jf6pE-QS1UmiMIz8Tw6m1g_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1963956000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_US_qfrlnaTarUCfpMxND8VexQ"
      decimals="-3"
      id="Tc_BnMrea1WA0OiXb3EihSZCA_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1485919000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_BR_WZG1kPFaSkmvMSLweBobgg"
      decimals="-3"
      id="Tc_iW8U-cVD5kKmvwIlsHN7HQ_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">442603000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_BR_6VvFfi_Jx0O2RzERCnMRHw"
      decimals="-3"
      id="Tc_jFlWNfXs-kmosNqGsXNsuQ_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">623331000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_BR_zSxmWOrz10GjvTsPdwCi3g"
      decimals="-3"
      id="Tc_ipP8wZQZ0kaIQaSW4Is6yw_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">846387000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CA_atjb8yPXLUKhC7Ev_RHrcw"
      decimals="-3"
      id="Tc_XbXY-MMrf0akv2vEns-Jzg_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">30792000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CA_EkCEeGbOPUqzJHhZ1XPHcQ"
      decimals="-3"
      id="Tc_WUeLqjdYK0yEq_X62gMJvQ_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">49148000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CA_bimSLCwh5UaGvlIeZSM4XA"
      decimals="-3"
      id="Tc_Zoq_LKCG10SoTw9F6x_I7A_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">52525000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_MX_rIVupoNWJUmg8hu9Bmp_0g"
      decimals="-3"
      id="Tc_a31TsTWWAE25UUdedW9GuQ_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">139611000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_MX_npl7_Y1Hqkihicvj5DSPJQ"
      decimals="-3"
      id="Tc_DTsM6iwFuUqRIygeydzQgg_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">31912000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_MX_NMFkoBhq_kuK3rUhEZRC6A"
      decimals="-3"
      id="Tc_wlZcnh7SZkeiS4IF0x2c3g_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">50884000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_PR_Y-Sm5bxG0EOApOxCU0cQoA"
      decimals="-3"
      id="Tc_yr6nJ8-j-kuGjK9sRl9rpw_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11344000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_PR_93_vkpCKhE6pFL2NbjKKFw"
      decimals="-3"
      id="Tc_dp9Bl8kpy06GHIioyKE42g_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">22353000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_PR_3SQ4IyZkP0itFPZ7hGnZyg"
      decimals="-3"
      id="Tc_uzvyDer7EUKcyHf8Vnrp8g_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">37922000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CL_MTgcoc4fpECsRRagmWQ0Cg"
      decimals="-3"
      id="Tc_Iv4kgRsI202VQR5QJ00esQ_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">18461000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CL_7ZNBlq0fL02j-JqqBuViBg"
      decimals="-3"
      id="Tc_s_ru0E5bp0WrYDqaBLOLyQ_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">37370000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CL_g6N-dWvbKUCOV8prfrDqyw"
      decimals="-3"
      id="Tc_N06Ei_I0OU2o-LM3Xo63dw_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">29663000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_UvJjjNWrr0S9fkSIgWvAzw"
      decimals="-3"
      id="Tc_-4j5Hs-hpke2q0Pf8ipZzw_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">46210000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember_6RJ0rD7ukE-noJQLU8yfdw"
      decimals="-3"
      id="Tc_Y6HcBJgsx0GqI_hIJhL4fQ_11_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">65581000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_OtherCountriesAmericaMember__9LYC2-Gd0elIPGfeP0tUw"
      decimals="-3"
      id="Tc_d44FBcU0OUC6aotMEddKtQ_11_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">112845000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_AmericaMember_3kqedtH72EGZkldAj3RTkQ"
      decimals="-3"
      id="Tc_1tqHMRKWC0691Fa_z0NBnQ_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2279594000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_AmericaMember_-J3IdnjmkUak8Mk3Jnu9_g"
      decimals="-3"
      id="Tc_WzdNHGgRcEO4ya1MyP37xQ_12_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2793651000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_AmericaMember_sttDZT8y_EiHw1Lkdcg47g"
      decimals="-3"
      id="Tc_3Sm-4y8MCEaubkLND8O3yA_12_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2616145000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CN_vPRpHNA7Tkyh4jWhmGQutg"
      decimals="-3"
      id="Tc_cGx6ZLfzwEqtS6fZignlfg_14_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1207003000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CN_zvlQMaX7-Ei-4RmOoAZJJw"
      decimals="-3"
      id="Tc_IrqGGfNqTUmuVuu_A9qluw_14_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1904862000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CN_oymL3asBO0-tC7Fm15OWTg"
      decimals="-3"
      id="Tc_Z-q3L9aBIkGp68kENjM7Tw_14_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2151243000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_JP_lx7lMEJvN02y3DrKhPZadw"
      decimals="-3"
      id="Tc_0Rapa1ipo0eid1ahNueeRQ_15_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">509233000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_JP_bxFbhvhuI0O-SiLF6ktQCQ"
      decimals="-3"
      id="Tc_doheqFvGsUW6godBYEuRnw_15_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">325344000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_JP_VyDig-qPrkSZZIim5XSpYw"
      decimals="-3"
      id="Tc_i6AdkoIJdEiBr6U_lq2zMQ_15_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">597188000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IN_I4BZyt9cVEC_EdPzi4xLiQ"
      decimals="-3"
      id="Tc_jXJROoKC-Um2kZPsmcNnZQ_16_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">142300000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_IN_YLBMR3ppuE2ZbYRaWsqeYQ"
      decimals="-3"
      id="Tc_YdGfHsXrWECR5yRtTAfipw_16_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">197772000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_IN_NKH-1DjtIEuAt8079BI5yg"
      decimals="-3"
      id="Tc__c122Obw3ECQHyrpguYfCw_16_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">91020000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_PK_xDb6Ji1hpEe21wp1Y3s5aw"
      decimals="-3"
      id="Tc_8jgvWfq2mEazFRZHyPY1DA_17_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">48838000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_PK_OFMfyRgwBkSyPB26_kf9aA"
      decimals="-3"
      id="Tc_haHKjmUdBkOEPMaN7QbFTA_17_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">73531000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_PK_M3tvfJNPNEarP-zaO3oNBg"
      decimals="-3"
      id="Tc_DNOxqP6iwUiU_JRcnjOJ4Q_17_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">78203000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_PH_wslf3caoC0KVzovacuA2Qw"
      decimals="-3"
      id="Tc_MiA9d0e6sk-UiYuMKx_mNw_18_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6660000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_PH_6FewQbssQEWUY3rJpLg6oQ"
      decimals="-3"
      id="Tc_Rh2fw5V0tEusaMNPpfJFFQ_18_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">26578000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_PH_8rvjGJxJbkOpmiSIMdSCcg"
      decimals="-3"
      id="Tc_G7Hz2RXdpkqtfakJmKtbOw_18_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">40612000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_HK_nLTAGf7qNUSEUT-wfYgB-Q"
      decimals="-3"
      id="Tc_XejGEVoOckeP_7zLtz3t-A_19_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9979000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_HK_HREn2zv65kOERjskzx8Bmw"
      decimals="-3"
      id="Tc_KSF65jxUf0GHSyYdkYHOng_19_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">46254000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_HK_I0z4OJr4h0mXkSn-N26yig"
      decimals="-3"
      id="Tc_I6Xoep4B_kGJzkyZBfXqHw_19_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">32707000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AE_swzD0AEVB0OcyZg-wsf4xA"
      decimals="-3"
      id="Tc_vXehmMbiWE-DwIErqIAZ4w_20_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6168000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_AE_USmV4TH8cEOqp5sPzY5fbA"
      decimals="-3"
      id="Tc_OsBdRnaawk-e6dFoY9n7bQ_20_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15974000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_AE_ecuAg028BUeD9-6R85_nOg"
      decimals="-3"
      id="Tc_IrEn2kKTEkaCswvvj48dhw_20_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">22915000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_TW__FhEkMv_cESCW40Gatk9hg"
      decimals="-3"
      id="Tc_aLc_y_2p1EKD-XRz3-Ud0g_21_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7702000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_TW_DRADgvCbWEmHueMU2XNbWQ"
      decimals="-3"
      id="Tc_M57B-ZdX-EiEwC-GSoDotg_21_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">67411000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_TW_kKIBpuIbgUitgiQaKtNZ1A"
      decimals="-3"
      id="Tc_AA9H_TTI6UCe-5lcv6tmRg_21_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">19369000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_VN_t4Ua-VwUu0ufNZBLcOb_0g"
      decimals="-3"
      id="Tc_b1bWXjpP_EicfAx9xIFx9w_22_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">19956000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_VN_LQ0KVcXBkU-BqmL8v4Rmrg"
      decimals="-3"
      id="Tc_KG5VJIKO90mY-palIYSVig_22_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9078000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_VN_tnq-hmv-CkitDsfb8xrNAg"
      decimals="-3"
      id="Tc_geSVQirHak65hXg-P9gaew_22_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">16208000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_TH_uM6Q-bemO02zPhbv8FbhOQ"
      decimals="-3"
      id="Tc_Rtl_uQKaJUWCNE5UvtNsEA_23_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">59451000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_TH_FF4thZh7jkSD-LrQ3_iSeQ"
      decimals="-3"
      id="Tc_WMGEl_UzSUWTTwYcn3Ev9Q_23_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9941000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_TH_GcDXfmDCgU2V4R6AxgKozQ"
      decimals="-3"
      id="Tc_0O0pa5HGPUqLPKlgpzjixQ_23_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">10217000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_HwySurKwLUeb_LOv97PYww"
      decimals="-3"
      id="Tc_DIs61G2cskyqRJbZMTLjtA_24_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">121780000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_JwNcWx_4oUaSOC6I2Vi9UA"
      decimals="-3"
      id="Tc_YdVBPsoHm0qd0aJSThakcA_24_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">63034000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_OtherCountriesAsiaMember_IMg1ieqZE0atwa5QfNGREQ"
      decimals="-3"
      id="Tc_IYkCXwj6b0Ome_jxU6Uqvw_24_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">65814000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_AsiaMember_Z7tjChbNXE2Nvg1xGIIvtg"
      decimals="-3"
      id="Tc_sSvJNQGanEuyn1LAxfbpRQ_25_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2139070000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_srt_AsiaMember_nMb79flZwU2XVzLFda8gnA"
      decimals="-3"
      id="Tc_NvcKGcYMvUaFWxCvu1ascg_25_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2739779000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_srt_AsiaMember_Ccd8TWlO60S7ueYSQuy9QQ"
      decimals="-3"
      id="Tc_j6TDZ2DM90q7wzrsZ4sFZw_25_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3125496000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ES_z7X1Iyp_GEG02yFQvY_u8w"
      decimals="-3"
      id="Tc_sc9AZmrvw0qOr-35dx2CHg_27_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">100658000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_ES_noeabbPP-0OZsYekbvK9wQ"
      decimals="-3"
      id="Tc_QIM3uD2EEEKC36-DzbXTxA_27_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">434841000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_ES_wo_w_2-o_0iNc2yc3wf-5w"
      decimals="-3"
      id="Tc_rjS1OXclB0mkUAMYsz_2ew_27_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">445321000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_DE_dGBzHVixfEyy3puv9lnyZA"
      decimals="-3"
      id="Tc_zcXcgNK05kiZwLoBURxsxQ_28_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">231995000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_DE_Tv2azKStHUyAhBp0VS_2RA"
      decimals="-3"
      id="Tc_NTtYtJR_BEyqXvHsxvdGsA_28_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">322189000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_DE_KvAAFG4KjE62jpekJ-Gt7Q"
      decimals="-3"
      id="Tc_xEZSQlLagUKB02MEDw7-eA_28_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">291385000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_ZA_74vH2XZlsUe25SgUltmwZg"
      decimals="-3"
      id="Tc_KHAfJQQ9XEaJGVz5dvXDPg_29_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">90761000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_ZA_bye0HB4tDkWdM4M9Gac4kw"
      decimals="-3"
      id="Tc_lHipVUT0QECPen9PGoaVPA_29_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">118458000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_ZA_pCUEXWyP2EmHsrmfjNS-kQ"
      decimals="-3"
      id="Tc_Se82yWy9j0qhPS14lIRXtQ_29_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">218596000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_GB_CP5vPjdFr0uEYokqWtj1oA"
      decimals="-3"
      id="Tc_n29RCBOF70uudKSh0GFK6Q_30_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7749000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_GB_11yDerAYI0-AXSOU8c8d1w"
      decimals="-3"
      id="Tc_s6o_-8IDDEq4EqMs7jfbbA_30_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">106662000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_GB_j_VILhWwQUaMhqhw0hASMw"
      decimals="-3"
      id="Tc_Q9MhO4jYgEmo6dueGOryRw_30_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">144994000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_NO_PSKCbQI-SUqjCnCp1hT5Vw"
      decimals="-3"
      id="Tc_AkjbGsX3gEWNMC7Mxl1AoQ_31_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">157000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_NO_Nx8FtG8IokaXHjgSBxG-sg"
      decimals="-3"
      id="Tc_ZuyvgyMUc0q3plhtO9URFg_31_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">30231000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NO_lQ_jJi3Sl0eWV8X_yFuQ1A"
      decimals="-3"
      id="Tc_bCvTaBKQQU2zDmbNwqUYBQ_31_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">139769000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_AU_aXQTCijSaUilhwCSVMN7bg"
      decimals="-3"
      id="Tc_G7Fna5-_qUW8qMVMBe5Vzw_32_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">165772000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_AU_HjLY6O1l-kSTt4BkLhDJHA"
      decimals="-3"
      id="Tc_ECRxUQ2GnkG120b0xJ0G1w_32_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">393959000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_AU_OimQUMpSWEqzebVMzQ0qaA"
      decimals="-3"
      id="Tc_mDcBVEOpZkei8BO87q9zdQ_32_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">128247000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_NL_S2ak4FRKlkeIehUdEKAZNw"
      decimals="-3"
      id="Tc_ADmaW2mAF0qqREYaF3b_nA_33_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">104715000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_NL_F_VA7yqQ2U2NCqrEDD4tsg"
      decimals="-3"
      id="Tc_GZ01jLdfKkK8-EPwYlMhLA_33_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">136375000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NL_Qn1hIdsiCUW0oFMkdFGjiw"
      decimals="-3"
      id="Tc_k-WC9km4SECQyc7Ldm2rPw_33_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">81820000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IT_sLp6shKXWk2kVZZnVXsYHQ"
      decimals="-3"
      id="Tc_0hIBNl0w50ydMTfEIyO9dQ_34_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6531000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_IT_Z6rmUdAu-UG3tMAKJ8z5HQ"
      decimals="-3"
      id="Tc_ZoqqtXDNjUGQ7U3AaNMLvg_34_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14465000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_IT_eExYyvqu1Ey0MxnyGIYIlg"
      decimals="-3"
      id="Tc_e71cEwoR6Ue3Wwaf00ARNw_34_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">79041000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_CZ_ial6mEyGDUyeTrTdV4cV-A"
      decimals="-3"
      id="Tc_tuy8p9_SoUi0TZcrhH2uIA_35_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">34604000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CZ_u4A3Hv2TDkqZd3bTvBxhPw"
      decimals="-3"
      id="Tc_kVwmIWAKXkKpbdWTHjFvKA_35_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">79414000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CZ_HsXXYkgwK0WT-imW5l6tjQ"
      decimals="-3"
      id="Tc_O7JlqutjhEya-UGbaZHZcw_35_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">62079000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_IE_1_UCm0J_rE6XliOz48Bmiw"
      decimals="-3"
      id="Tc_92kzkqw-MEC5JquxFPQ81Q_36_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7844000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_IE_BN5l5xCkNEu_9-eLhbMkNA"
      decimals="-3"
      id="Tc_ZoQUMNTChE-AD1b3dfry3g_36_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">63740000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_IE_lPg-rjriN0msWFaCk5ClVQ"
      decimals="-3"
      id="Tc_qdMTVTvY4kGahj4zPXPZjg_36_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">41611000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_RO_RHFrSvmzc0a3iT9xaEn-Jg"
      decimals="-3"
      id="Tc_Y4OCp__jUUivmuvValZ_fg_37_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3699000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_RO_FuMZ0GOyj0mHFW_OL22v4w"
      decimals="-3"
      id="Tc_euh0W4KieUeEkWNRKt904Q_37_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">31804000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_RO_EY4wo3_jQkyLKAc1mdxV8w"
      decimals="-3"
      id="Tc_ccnvugfm7Em2Qg9GzGhkxQ_37_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">24491000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_country_FR_BKa3W2iCxU2v3xmBfyu_Og"
      decimals="-3"
      id="Tc_NDOaowCu4kyviGCcMihBiQ_38_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">25980000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_FR_prsJgThXwkK0DkBYeHQxhw"
      decimals="-3"
      id="Tc_XAK9wOxlfUGBmPPtQWn20Q_38_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">31147000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_FR_5DxMQd7MZ023Nz0AIjXdHw"
      decimals="-3"
      id="Tc_YijRXGt9IEmg3dNrFqiGMw_38_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">22341000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_DlyVLzpTn0q0GrQoda0sNA"
      decimals="-3"
      id="Tc_UzEgS3TWX0OluURRHM__Lw_39_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">78040000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_Xn-cj_H5WE2eKF_GA7YhAw"
      decimals="-3"
      id="Tc_KR3QiOA9v0qLevM50H1AWA_39_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">171895000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_csiq_OtherCountriesEuropeMember_dpHY6AS6s0GB1bHfOgIJMA"
      decimals="-3"
      id="Tc_yRFxTg1Fh0KkvopcAByl8A_39_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">192290000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_StatementGeographicalAxis_srt_EuropeMember_A2bwlrhB9U2HIFjGRDAlzA"
      decimals="-3"
      id="Tc_bItm2JqOPEWq0T57TVxG4A_40_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">858505000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_srt_EuropeMember_54ilYGUMg02kpw6POHPimQ"
      decimals="-3"
      id="Tc_iX4mu-6t1kq2qF6lKb8Hig_40_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1935180000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_srt_EuropeMember_spKQL1iTMECH6fEZeuouFg"
      decimals="-3"
      id="Tc_0ohYj2Pksk6FmLHCCzRj9g_40_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1871985000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_X2rv2WjyGEGn9DoC8irITA_41_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5277169000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_nMoCNZ8blEmXYVLE2XDslQ_41_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7468610000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_bXPT5v20E0mB63jmk3NYwg_41_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7613626000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_z8cpJ5KoqEankGX_qOZhdQ">&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.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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:1.85%;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p 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.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:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&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;2023&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;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;margin:0pt;padding:0pt;"&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.93%;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.85%;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,668,177&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 2,398,130&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;Thailand&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 691,467&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;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 5,545&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 528,538&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;Brazil&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 242,761&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 409,211&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;EU&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 99,738&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;Argentina&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 63,526&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;Colombia&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; &#x2014;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 61,847&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;Japan&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 13,164&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;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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; 6,200&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 11,401&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;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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; 5,770&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 19,667&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;Total long-lived assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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:3px double #000000;margin:0pt;padding: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;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span 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; 4,296,689&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CN_K4R_zb2xWUe3T0EgngOhfA"
      decimals="-3"
      id="Tc_lILV4HOzPUmqMbEQidaijg_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1668177000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CN_80hDGSjEdki2xBN9W0xvVA"
      decimals="-3"
      id="Tc_ZeANEPJToEqOnjggWbDCxQ_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2398130000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_TH_WaOAhGglq0OMevBiINfFCA"
      decimals="-3"
      id="Tc_4Ctz2cMwtU6Kbp4O3PHLmA_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">276497000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_TH_g1YNSVaQ4UKe2ckVolavZA"
      decimals="-3"
      id="Tc_u5EKyH0QdEqFrBDhHbhcrg_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">691467000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_US_TGciro71Dk2gByw0WsJ6VQ"
      decimals="-3"
      id="Tc_uY8preRgpUufKIw6Ub9jRw_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5545000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_US_rB6V3NXeXUmlRKKzaAVgQA"
      decimals="-3"
      id="Tc_2q9zNhASRUCujShJZyXoIQ_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">528538000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_BR_OtJDSgb6Ck6yhWsx-gbpQA"
      decimals="-3"
      id="Tc_JRoy1Xl_mk2l24_21RCnFA_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">242761000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_BR_crl3SxeSxUistEGO4AAUww"
      decimals="-3"
      id="Tc_MV4HgYucl0OMez3JL3kjVQ_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">409211000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_srt_EuropeMember_41CRG9KMBUW_DnOK-C55pw"
      decimals="-3"
      id="Tc_9-42_wlYRUifc5uDz4IDEw_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">27182000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_srt_EuropeMember_Unm7Klr-7kWuCsRjXvZkoA"
      decimals="-3"
      id="Tc_tPzHLskY8UuL7E1xErmPAA_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">99738000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_AR_cuLi4ihwDESqpgpnrd25Fw"
      decimals="-3"
      id="Tc_Y9LINEsZNE6DWIyA8SCD9A_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">66017000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_AR_2LSzNiPvkk69EXuydpD76w"
      decimals="-3"
      id="Tc_y3cU45JkD06W6kjmmUwANQ_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">63526000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CO_G1EkubXYjUmFIB2rSXTX4w"
      decimals="-3"
      id="Tc_hrLg4zoaVUWsBBSfsyalpw_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">61847000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_JP_gK9lZ0E4AU-6Z8fIqAKIzg"
      decimals="-3"
      id="Tc_qQ7VK7ENjk2A9OPHrF7SBQ_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14440000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_JP_TgcbE02qakG8FZSQlX6n4A"
      decimals="-3"
      id="Tc_Oin7nEhbU0-iDz0NKSb4yQ_11_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">13164000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CA_rExRPOfZak6ApkGDw3JLLw"
      decimals="-3"
      id="Tc_UCUTU0MoAE6Joj4_JWgQvA_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6200000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CA_SBx3YZm7B0CTSgUQfnF5WQ"
      decimals="-3"
      id="Tc_xR_C6vtP6E-LR2-US5mZdg_12_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11401000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_-WJa2N5r-E2OQCV09CaN4g"
      decimals="-3"
      id="Tc_FJHVq1F45U6X6wZB9ichdQ_13_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5770000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_csiq_SeriesOfIndividuallyImmaterialCountriesMember_NWzWTsqbhU-HRqyovdSGsA"
      decimals="-3"
      id="Tc_e5Dv0hhKY0eK3vVKqaH0rg_13_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">19667000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_MRadc738LkOkIv_goIYDgA_14_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2312589000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_snyD8yqN70eNHyYmD1oVMQ_14_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4296689000</us-gaap:NoncurrentAssets>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb__sASSyRCuEqhtn1G1sHVgA">&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.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:2.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:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:11.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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:11.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.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;font-weight: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.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;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.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;font-weight: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;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.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;2022&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.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;2023&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.66%;margin:0pt;padding:0pt;"&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.34%;margin:0pt;padding:0pt;"&gt;&lt;p 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.66%;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.34%;background:#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.66%;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; 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.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; 5,534,379&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.34%;margin:0pt;padding: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,941,345&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.66%;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; 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.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; 538,157&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.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 679,350&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Battery energy storage solutions&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.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; 440,716&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.34%;margin:0pt;padding: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,173&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.66%;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;EPC and 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; 299,997&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; 133,833&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.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 250,105&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:middle;width:58.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Recurrent 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.34%;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.66%;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 power and battery energy storage asset 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;margin:0pt;padding: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.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; 761,677&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.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 399,098&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Power services (O&amp;amp;M) and asset management&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.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; 33,776&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.34%;margin:0pt;padding: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,379&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.66%;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;Electricity revenue from operating portfolio and 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;border-bottom:1px solid #000000;margin:0pt;padding: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.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; 26,072&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.34%;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; 46,176&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.66%;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; 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.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; 7,468,610&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.34%;border-bottom:3px double #000000;margin:0pt;padding: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,613,626&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 0pt 5pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_kdZdNlZYv0GoqVByeQWhVw"
      decimals="-3"
      id="Tc_066APyNsqUmXedLi9ylVgw_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_kRUt5wL61k-uwt-4XUMJ0A"
      decimals="-3"
      id="Tc_UrScazdiAEqbG3xV-ikHQQ_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5534379000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarModulesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_XFVXdi_3pkW1xBUrDjNZmQ"
      decimals="-3"
      id="Tc_WZQe2AC2UEChg2QrskkXog_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5941345000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_gi-mheLUcECz-IW4UGI8TQ"
      decimals="-3"
      id="Tc_tTfdf3mub0a2OD3AAwAwnw_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">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_Ym5lZMi_q0mm5FmmLodikA"
      decimals="-3"
      id="Tc_dhGXTrrlZUOjsn0ZO6zY5w_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">538157000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarSystemKitsProductMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_vyiWx8d08kmvKMKZ3IURJw"
      decimals="-3"
      id="Tc_8mNti_n-VUCGfXAtL4kFXg_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">679350000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_Ie4WjpDYlESXByb1KAtYhQ"
      decimals="-3"
      id="Tc_hW-fvcfh-k6rWzM7GQKUsw_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">222655000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_iX8uk5eLGE2EhbDQ6SH30Q"
      decimals="-3"
      id="Tc_Ktwsia8n7EatvcM0UkFFZA_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">440716000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_BatteryStorageSolutionsMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_E8layZZEjE2ocScRDUb0AQ"
      decimals="-3"
      id="Tc_T_KP3CZUTUyq2FH7I4QBFg_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">245173000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_EpcAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_9zEawpupjEyPZvhLUs0AWw"
      decimals="-3"
      id="Tc_j6znUPQ2HEGCwJtD8UsbUQ_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">299997000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_EpcAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_lN5VIncdzEqSBCDxwyttTw"
      decimals="-3"
      id="Tc_aRwhcjuRv0-6RvG01EIaNQ_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">133833000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_EpcAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_CsiSolarSegmentMember_C1DCxoz75U64bVlg0z5AFw"
      decimals="-3"
      id="Tc_LWUrjZETl0ey1mfVLw7WAw_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">250105000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_UOE56Zydc0in3HezTvQnbw"
      decimals="-3"
      id="Tc__HunC1xEU0SUiBX1qG-kug_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1064178000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_sU9D8aDM602j9siHFIf_Rw"
      decimals="-3"
      id="Tc_8fd62XWeXUW2h2rUwMZ07Q_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">761677000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_SolarPowerAndBatteryEnergyStorageAssetSalesMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_BIgWZIvk_EWmFWQcMv_AFQ"
      decimals="-3"
      id="Tc_S523mUt_uUiWuqVPHp6qIw_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">399098000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_PowerServicesOMAndAssetManagementMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_6HF3kM4aokOAqt6JNN8ZqA"
      decimals="-3"
      id="Tc_qwlLjtKIZUKKVIrzZTHaeg_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">35334000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_PowerServicesOMAndAssetManagementMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_ulwMvQZk80KKtSJXZClliQ"
      decimals="-3"
      id="Tc_oZ5XfDk18EmJ_v2sUjGYXg_11_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">33776000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_PowerServicesOMAndAssetManagementMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_VZjE-fOnYkqOUwdn0gPIcA"
      decimals="-3"
      id="Tc_GeKiuxF06kKwvWxkmoo70A_11_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">52379000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ProductOrServiceAxis_csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_v2VhsCQKYEmM-HMcmj2Wtw"
      decimals="-3"
      id="Tc_gatyWNzebUKTFIZNs-vMNg_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">24571000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ProductOrServiceAxis_csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember_FwgB321FLU6QOo0sBkHIfQ"
      decimals="-3"
      id="Tc_xSBckFtepkqh63qqHQFpCQ_12_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">26072000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ProductOrServiceAxis_csiq_ElectricityRevenueFromOperatingPortfolioAndOthersMember_us-gaap_StatementBusinessSegmentsAxis_csiq_RecurrentEnergySegmentMember__2ftJEhjdEGGk0vLStg30Q"
      decimals="-3"
      id="Tc_70t4ZZx0Sk-woJ-06zfDJQ_12_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">46176000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Tc_4260E4PxFUK-RIZlyS4XHw_13_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5277169000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Tc_3beeHjOI9UWFs5vUrXsuew_13_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7468610000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Tc_vAqeSTjegUu33CBxyjvrVA_13_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7613626000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <csiq:MajorCustomersDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_Zt0Bc6NZnECCZMSj2DxLGQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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;"&gt;No customers accounted for 10% or more of total net revenues for the years ended December 31, 2021, 2022 and 2023.No customers accounted for 10% or more of total net accounts receivable as of December 31, 2022 and 2023.&lt;/p&gt;</csiq:MajorCustomersDisclosureTextBlock>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_lJ58Y_wur0Sh1nZsNDSTvA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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 12pt 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 such defined contributions schemes was $14,362, $17,753 and $26,558 for the years ended December 31, 2021, 2022 and 2023, 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, the Company is required by PRC law to contribute approximately 6-8.5%, 8%, 0.2-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 $13,584, $15,918 and $20,702 for the years ended December 31, 2021, 2022 and 2023, 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="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;In the U.S., the Company has a qualified 401 (k) plan which provides retirement benefits for all of its eligible manufacturing and non - manufacturing employees. Under the plan, the Company matches 100% of the first five percent of employee contributions. The matching contribution made by the Company for the 401 (k) plan were $409, $383 and $1,664 for the years ended December 31, 2021, 2022 and 2023, respectively.&lt;/p&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="2"
      id="Narr_szImFgXub06d4Z2nZA3zCw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.16</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_CdCUJo_MBEWyLQToenFLBQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14362000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_AMbzmWz-OkyNOVUb7vuQ_g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">17753000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_L3PSykYYpEmv8HdX0Z_h-A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">26558000</us-gaap:DefinedContributionPlanCostRecognized>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_3G8QcAHBmEyXhCLHWHtztw"
      decimals="2"
      id="Narr_dvHSBrnkvEW9YpJtADxROQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.06</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_8hjJmi5StEaLy1zCxjLl5w"
      decimals="3"
      id="Narr_j-Q7c9jxMkO3Vh9PKYqS8g"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.085</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForMedicalInsuranceBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_aj9SPfulKU-CrWrdjVIx3g"
      decimals="2"
      id="Narr_hVdZ2aht2ECvnVuXmgGUwg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.08</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForHousingFunds>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_3G8QcAHBmEyXhCLHWHtztw"
      decimals="3"
      id="Narr_y9LExaiXhkOo7nbxwCZKfw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.002</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_8hjJmi5StEaLy1zCxjLl5w"
      decimals="3"
      id="Narr_gjRucOO-2UqWSQ_9AwA_Hg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.007</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForUnemploymentBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_3G8QcAHBmEyXhCLHWHtztw"
      decimals="3"
      id="Narr_anjc8gILj0WFkUGv6pt7DA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.009</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_8hjJmi5StEaLy1zCxjLl5w"
      decimals="3"
      id="Narr_LuTiiZa5nkOqJOCpXR2OiQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.025</csiq:DefinedContributionPlanEmployerContributionAsPercentageOfApplicableSalariesForOtherStatutoryBenefits>
    <csiq:DefinedContributionPlanEmployerContributionAmount
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_A1sEXhgp2Eq5FRyEbBL6Yw"
      decimals="-3"
      id="Narr_PpcEQbRwU0eDfT3qc1wW2g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">13584000</csiq:DefinedContributionPlanEmployerContributionAmount>
    <csiq:DefinedContributionPlanEmployerContributionAmount
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_cABhXXIy_EO7NWdBVBwVtQ"
      decimals="-3"
      id="Narr_wN6bn3qRrUK7x_fLYEjuoA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15918000</csiq:DefinedContributionPlanEmployerContributionAmount>
    <csiq:DefinedContributionPlanEmployerContributionAmount
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_aj9SPfulKU-CrWrdjVIx3g"
      decimals="-3"
      id="Narr_So7SEdBtHkG0bAdNamSIPg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">20702000</csiq:DefinedContributionPlanEmployerContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_aj9SPfulKU-CrWrdjVIx3g"
      decimals="2"
      id="Narr_x9PPoDwmoE2BlDG4uorpDg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">1</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_A1sEXhgp2Eq5FRyEbBL6Yw"
      decimals="-3"
      id="Narr_G6KkzGkJkEKG2ijVdmDhDw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">409000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_cABhXXIy_EO7NWdBVBwVtQ"
      decimals="-3"
      id="Narr_2kTBx3sHX0C_v2bBbQPxxQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">383000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DefinedContributionPlanCostRecognized
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_RetirementPlanSponsorLocationAxis_us-gaap_ForeignPlanMember_aj9SPfulKU-CrWrdjVIx3g"
      decimals="-3"
      id="Narr_FpjccHc45km7-0A0t87p9A"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1664000</us-gaap:DefinedContributionPlanCostRecognized>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_cXkz9C-hzEKpZ9EFsANHrg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 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;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2006 Share Incentive Plan&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 12pt 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, 2022 and 2023, no options were exercised. As of December 31, 2023, 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, 2023 was $444. No compensation cost on options was recognized in the years ended December 31, 2021, 2022 and 2023.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 10pt 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 10pt 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 10pt 0pt;"&gt;The Company granted 2,161,098, 444,167 and 206,067 RSUs in 2021, 2022 and 2023, 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 10pt 0pt;"&gt;The RSUs were granted for free and generally vest over periods from &lt;span style="-sec-ix-hidden:Hidden__6LnPpsMv0awmaiJc_xCEA;"&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. Between 2021 and 2022, 2,301,000 of the RSUs granted were made to the Company&#x2019;s directors and a group of key employees, whereby vesting is contingent upon the completion of the IPO of CSI Solar (50% vested on the IPO date, followed by 25% vesting on each of the first and &lt;span style="-sec-ix-hidden:Hidden_tDQJVYWuy0eLN4cJ3cx3jQ;"&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 contingent awards was $25.57 per award. As of December 31, 2023, 1,096,000 of such RSUs were unvested and outstanding.&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 fair market value of the Company&#x2019;s ordinary shares at the date of grant resulted in total compensation cost of approximately $55,822, $12,909 and $7,785&#160;that will be recognized ratably over the vesting period for the RSUs granted in 2021, 2022 and 2023, respectively.&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 of December 31, 2023, there was $34,015 of total unrecognized share-based compensation related to unvested RSUs, which is expected to be recognized over a weighted-average period of 1.6 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.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;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.28%;margin:0pt;padding:0pt;"&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.85%;margin:0pt;padding:0pt;"&gt;&lt;p 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.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.28%;margin:0pt;padding:0pt;"&gt;&lt;p 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.85%;margin:0pt;padding:0pt;"&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.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&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.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.28%;margin:0pt;padding:0pt;"&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.85%;margin:0pt;padding:0pt;"&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.38%;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, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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.28%;background:#cceeff;margin:0pt;padding: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.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 25.65&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.38%;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 206,067&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 38.64&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.38%;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.85%;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.28%;background:#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,652,686)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.81&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.38%;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.28%;border-bottom:1px solid #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; (82,575)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 26.97&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.38%;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, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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.28%;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,660,182&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 27.21&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 10pt 0pt;"&gt;The total fair value of RSUs vested during the years ended December 31, 2021, 2022 and 2023 was $21,628, $13,276 and $57,298, respectively.&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;2020 CSI Solar Employee Incentive Plan&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="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 10pt 0pt;"&gt;In 2020, CSI Solar approved the CSI Solar employee incentive plan. Eligible CSI Solar directors and employees and board members subscribed to equity interest in the partnership for an aggregate of RMB248 million ($36,342 on the date of the transaction). Vesting conditions include the completion of the IPO and the service period, which were met in 2023. The CSI Solar employee incentive plan was accounted for based on the grant date fair value which equals to the value of the discount benefited by the CSI employee incentive plan participants. As of December 31, 2023, no awards granted were outstanding and no future grants may be available for issuance under CSI Solar employee incentive plan.&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 share-based compensation expense by plan included in the consolidated statements of operations:&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:59.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.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:1.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: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.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:1.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: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.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:1.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:9.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.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: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: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="8" style="vertical-align:bottom;white-space:nowrap;width:38.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:59.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: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;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.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;2021&lt;/b&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;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.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;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;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.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.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: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: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:11.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;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;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:11.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;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;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:11.19%;margin:0pt;padding:0pt;"&gt;&lt;p 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:59.12%;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;2006 Share incentive plan&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:1.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;margin:0pt;padding: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,808&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;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.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;margin:0pt;padding: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,370&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;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.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.65%;background:#cceeff;margin:0pt;padding: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,981&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.12%;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;2020 CSI Solar employee incentive plan&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:1.53%;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:9.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; &#x2014;&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;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.53%;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;&#160;&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: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.44%;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.53%;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:9.65%;border-bottom:1px solid #000000;margin:0pt;padding: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,354&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.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="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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.53%;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;margin:0pt;"&gt;&lt;span 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;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; 8,808&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;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.53%;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;margin:0pt;"&gt;&lt;span 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;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; 9,370&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;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.53%;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;margin:0pt;"&gt;&lt;span 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.65%;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; 55,335&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 0pt 6pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="As_Of_9_30_2010_KL-w7vCxKk-QXlF6lReWvA"
      decimals="INF"
      id="Narr_UDk9ARzx50aEoZ3VhGX5AQ"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">2330000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares
      contextRef="Duration_9_1_2010_To_9_30_2010_AQ_xuP1PvUC--aAhUhwR-g"
      decimals="2"
      id="Narr_wkZh5GwDI0eG7OYaInokzw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.01</csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfThreeYearsPriorToYearOfAmendmentForAwardsOtherThanIncentiveOptionShares>
    <csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares
      contextRef="Duration_9_1_2010_To_9_30_2010_AQ_xuP1PvUC--aAhUhwR-g"
      decimals="3"
      id="Narr_dj1V8IOdT0mKqPK-pmDjyg"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.025</csiq:AnnualPercentageIncreaseInAuthorizedSharesOnFirstDayOfEachOfCalendarYearFromYearOfAmendmentForAwardsOtherThanIncentiveOptionShares>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="INF"
      id="Narr_nAWOuv8rTkWeICWh1jIH1Q"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">0</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsAfterExpirationOfSpecifiedDate>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardPlanExpirationTerm
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Narr_LS_3nl6QiEKwRFYnJ2JfKA">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_x61QiTS7vk2yC8fjTWcApg"
      decimals="INF"
      id="Narr_zi7JtJdUbkSKTjvJYAXRnQ"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">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_HllQR2xnjES_oGeFb44_fQ"
      decimals="INF"
      id="Narr__II50szyv0WsT52KDcN6cg"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_4D65mKuedUGq1XiTiiNd8Q"
      decimals="INF"
      id="Narr_ADp3SPRZ70CcFivvOp1aMw"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_jwSkttdbKUCNaJnLxajJnw"
      decimals="INF"
      id="Narr_yvvJU63JeUuAVhT7B_G82A"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">26291</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_jwSkttdbKUCNaJnLxajJnw"
      decimals="2"
      id="Narr_2dcf2WUT_Uukce5sscobAg"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">9.33</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_4D65mKuedUGq1XiTiiNd8Q"
      id="Narr_rJ39zkRnkkWygLAMbrIY8A">P0Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_jwSkttdbKUCNaJnLxajJnw"
      decimals="-3"
      id="Narr_Q8g6K1ARjk2yxuJFhwyybA"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">444000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="Duration_1_1_2021_To_12_31_2021_chBxL9x2QUCwSl6R387jKA"
      decimals="-3"
      id="Narr_CmkietGG20m_NTzS8-sm_Q"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="Duration_1_1_2022_To_12_31_2022_21Tv7xIXbU-hdIiUwQfusA"
      decimals="-3"
      id="Narr_lsNYj_uXdEyZXbBn_gCGPw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="-3"
      id="Narr_wrgr31ZOVE2hF6NzxoWrTQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Q9hHxvoq9kWadEGhK3tYvw"
      decimals="INF"
      id="Narr_PCFIFF30C0mwTD3ssCXl2A"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">2161098</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_IfBrvPrh40aCF3r7Zhw4Pw"
      decimals="INF"
      id="Narr_eB_rKzRlrEavYYguv_1cgg"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">444167</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg"
      decimals="INF"
      id="Narr_1C-_Ce7yaUasyAmWEls9vA"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">206067</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_SJWO4EB44EidW8j-k05YaQ"
      id="Narr_D6DEWj9CMk6_pI_ZF0VK-Q">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_OqVIfmcRQE-jZijqUjFcOA"
      decimals="INF"
      id="Narr_KO7v61tADkKTgdjGVHoESw"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">2301000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_PH1QL8FbtU-0E4Jm8ntwfw"
      decimals="INF"
      id="Narr_fGAqd1agAUaiiiFmdkVW8g"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">2301000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_OqVIfmcRQE-jZijqUjFcOA"
      decimals="2"
      id="Narr_IBPjFMiBx02VQK7uikAl6Q"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.50</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_ovWWKaB1akSfnx5UIhANMg"
      decimals="2"
      id="Narr_EPJxJOob_k2ANZYwFzIUuA"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_OqVIfmcRQE-jZijqUjFcOA"
      decimals="2"
      id="Narr_kOhJ7jR0DEu4LkaoD9A5WQ"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">25.57</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_GranteeStatusAxis_us-gaap_ShareBasedPaymentArrangementEmployeeMember_7bSnifeenU-mwMT0cANtCw"
      decimals="INF"
      id="Narr_Q6-JOPG67ku3972pzqmaHQ"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">1096000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_waR_vcnWVU2usZfdbExWIg"
      decimals="-3"
      id="Narr_v7CdzS-Yckq2x9MgNMPCDQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">55822000</csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions>
    <csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Rvi-6Y7smUa3DJ3H04zHvQ"
      decimals="-3"
      id="Narr_MWLkF_fyN0m-G8pXQU71ow"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">12909000</csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions>
    <csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_6jX0Mt24JUait6k6xuOsRw"
      decimals="-3"
      id="Narr_qtS_x_OPnU6zI0ceSubeEQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7785000</csiq:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostsShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_6jX0Mt24JUait6k6xuOsRw"
      decimals="-3"
      id="Narr_n_vi7VCyo0SjVE77_g5oow"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">34015000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg"
      id="Narr_Xum9BQoAe0KTzqUZcOdeHw">P1Y7M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_cBd2cuQREUWJ96SQbGmr-w">&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.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;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.28%;margin:0pt;padding:0pt;"&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.85%;margin:0pt;padding:0pt;"&gt;&lt;p 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.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.28%;margin:0pt;padding:0pt;"&gt;&lt;p 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.85%;margin:0pt;padding:0pt;"&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.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.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;Shares&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&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.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight: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.28%;margin:0pt;padding:0pt;"&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.85%;margin:0pt;padding:0pt;"&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.38%;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, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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.28%;background:#cceeff;margin:0pt;padding: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.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 25.65&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.38%;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 206,067&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 38.64&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.38%;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.85%;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.28%;background:#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,652,686)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.81&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.38%;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.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.28%;border-bottom:1px solid #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; (82,575)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 26.97&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.38%;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, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;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.28%;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,660,182&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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; 27.21&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Rvi-6Y7smUa3DJ3H04zHvQ"
      decimals="INF"
      id="Tc_uPmp-CuDuk6uR-lybdB2VQ_5_2"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">3189376</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Rvi-6Y7smUa3DJ3H04zHvQ"
      decimals="2"
      id="Tc_DiTs2_dlWk-fCPyvWi_eGw_5_4"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">25.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg"
      decimals="INF"
      id="Tc_ccJnbNlp1UGcPfHc4p2G2A_6_2"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">206067</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg"
      decimals="2"
      id="Tc_vznQ2KwMIku-XVZ3j9TtHw_6_4"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">38.64</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg"
      decimals="INF"
      id="Tc_Eb5m07_UY0qC6_gl_FGN4w_7_2"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">1652686</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg"
      decimals="2"
      id="Tc_-URlAW27HkuNxpggcn5NBg_7_4"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">24.81</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg"
      decimals="INF"
      id="Tc_nKjzD37VnUqt0lvyRcxBWQ_8_2"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">82575</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg"
      decimals="2"
      id="Tc_yYANV6n1N0-zf7I9b8ppSg_8_4"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">26.97</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_6jX0Mt24JUait6k6xuOsRw"
      decimals="INF"
      id="Tc__Rzp1TU0XU-lxhipbVCAWg_9_2"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">1660182</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_6jX0Mt24JUait6k6xuOsRw"
      decimals="2"
      id="Tc_UG_3kZKXKUKnIIUmbT1tGg_9_4"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">27.21</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="Duration_1_1_2021_To_12_31_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_Q9hHxvoq9kWadEGhK3tYvw"
      decimals="-3"
      id="Narr_7DkovZlNA02v7Qa9HyisNw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">21628000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_IfBrvPrh40aCF3r7Zhw4Pw"
      decimals="-3"
      id="Narr_KLS_nwzgZU2rcIl6QagKuw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">13276000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_FAtl6zTDb0Oj_vk6qncfjg"
      decimals="-3"
      id="Narr_zISZ5KnzCk6DBePvFOnoEw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">57298000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership
      contextRef="As_Of_12_31_2020_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_wdTRMCsgTUKMc5VK7B_WEQ"
      decimals="-6"
      id="Narr_65niCFa9ykCrYhte_s1pXg"
      unitRef="Unit_Standard_CNY_JdCN7cFCl0CgSWaqZMUWVA">248000000</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership
      contextRef="As_Of_12_31_2020_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_wdTRMCsgTUKMc5VK7B_WEQ"
      decimals="-3"
      id="Narr_W9cChOuIs0eqISxPIcX97w"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">36342000</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_c4UZ_GtQ7EinRozmDg82fw">&lt;p style="font-family:'Times 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:59.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.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:1.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: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.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:1.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: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.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:1.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:9.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.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: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: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="8" style="vertical-align:bottom;white-space:nowrap;width:38.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:59.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: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;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.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;2021&lt;/b&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;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.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;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;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.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.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: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: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:11.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;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;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:11.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;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;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:11.19%;margin:0pt;padding:0pt;"&gt;&lt;p 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:59.12%;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;2006 Share incentive plan&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:1.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;margin:0pt;padding: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,808&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;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.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;margin:0pt;padding: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,370&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;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.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.65%;background:#cceeff;margin:0pt;padding: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,981&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.12%;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;2020 CSI Solar employee incentive plan&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:1.53%;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:9.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; &#x2014;&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;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.53%;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;&#160;&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: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.44%;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.53%;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:9.65%;border-bottom:1px solid #000000;margin:0pt;padding: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,354&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:59.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="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%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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.53%;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;margin:0pt;"&gt;&lt;span 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;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; 8,808&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;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.53%;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;margin:0pt;"&gt;&lt;span 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;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; 9,370&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;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.53%;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;margin:0pt;"&gt;&lt;span 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.65%;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; 55,335&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 0pt 6pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership
      contextRef="As_Of_12_31_2021_us-gaap_PlanNameAxis_csiq_ShareIncentivePlan2006Member_aQSNfZa9fk6fFh4vE8Ax3w"
      decimals="-3"
      id="Tc_BQT8WWXRPkmaxvSfPFIrGA_4_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8808000</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership
      contextRef="As_Of_12_31_2022_us-gaap_PlanNameAxis_csiq_ShareIncentivePlan2006Member_uDKmQjZllECkBbMauLFtlg"
      decimals="-3"
      id="Tc_i7mW4lcPqkyMWKx4tPYw7A_4_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9370000</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership
      contextRef="As_Of_12_31_2023_us-gaap_PlanNameAxis_csiq_ShareIncentivePlan2006Member_Hj5NdY2cLEWj0UTbvnKNmQ"
      decimals="-3"
      id="Tc_YEJ81NRA30mMKaVuPRIEqg_4_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">46981000</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_PlanNameAxis_csiq_CsiSolarEmployeeIncentivePlan2020Member_-7puMFjF0UeoyTLKOB5HkA"
      decimals="-3"
      id="Tc_bKd2BGoNSUGsLsh-z9sDTw_5_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8354000</us-gaap:AllocatedShareBasedCompensationExpense>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership
      contextRef="As_Of_12_31_2021_aWWAbWE9-kK4nB4KBcySCQ"
      decimals="-3"
      id="Tc_vUVCd2bYNEuIEgCEp5eyvg_6_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8808000</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership
      contextRef="As_Of_12_31_2022_A2twcnBm8kC3AmTDPN1jQA"
      decimals="-3"
      id="Tc_n-5DdIBhtESTCdrYnKMWxA_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9370000</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership>
    <csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership
      contextRef="As_Of_12_31_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Tc_zbzE5cdQzk6LvN04RzKFQA_6_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">55335000</csiq:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumSubscriptionAmountToEquityInterestInPartnership>
    <us-gaap:MinorityInterestDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_HAtQ3CzyMEGk-UrxBv27pg">&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;NON-CONTROLLING INTERESTS&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 0pt 12pt 0pt;"&gt;In 2023, CSI Solar completed its IPO and its shares began trading on the STAR Market of the SSE. The IPO raised net proceeds of approximately $927,897, of which, $644,873 was recorded in the non-controlling interest, $244,629 was recorded in the additional paid in capital and $38,395 was recorded in accumulated other comprehensive loss.&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;Following the IPO, the Company holds approximately 62.24% of CSI Solar. CSI Solar&#x2019;s non-controlling interests&#x2019; ownership of the subsidiary changed from 20.41% to 37.76% due to the IPO.&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 following schedule shows the effects of changes in the Company&#x2019;s ownership interest in less than wholly owned subsidiaries on equity attributable to Canadian Solar Inc.:&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:67.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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: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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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: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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.34%;margin:0pt;padding: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:10pt;margin:0pt;"&gt;&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:30.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;Year&#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:67.34%;margin:0pt;padding: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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.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;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: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:8.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;2022&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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.34%;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;Net income attributable to Canadian Solar Inc.&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:1.34%;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:7.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; 95,248&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:1.34%;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:7.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; 239,968&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:1.34%;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:7.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 274,187&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.34%;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;Transfers from the non-controlling interests:&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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.17%;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.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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.17%;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.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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.86%;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:67.34%;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 7.2pt;"&gt;Increase in the Company&#x2019;s paid-in capital from transfer of equity interest in subsidiary and subsidiary&#x2019;s offering of its equity interests&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:1.34%;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.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; &#x2014;&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:1.34%;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.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; 11,185&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:1.34%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 244,629&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.34%;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 7.2pt;"&gt;Increase in the Company&#x2019;s accumulated other comprehensive loss from transfer of equity interest in subsidiary and subsidiary&#x2019;s offering of its equity interests&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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.17%;margin:0pt;padding: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.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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 544&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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.86%;margin:0pt;padding: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,395&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.34%;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;Net transfers from non-controlling interests&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:1.34%;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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.17%;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.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:1.34%;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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.17%;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; 11,729&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:1.34%;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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.86%;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; 283,024&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.34%;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;Change from net income attributable to Canadian Solar Inc. and transfers from non-controlling interests&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:1.34%;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:7.17%;border-bottom:3px double #000000;margin:0pt;padding: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.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:1.34%;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:7.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 251,697&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:1.34%;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:7.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 557,211&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:MinorityInterestDisclosureTextBlock>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_jd9ujE6WO0GFzXPfV9C9cQ"
      decimals="0"
      id="Narr_y9BP6oJAFUiVMSf5d1kNZw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">927897</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_NoncontrollingInterestMember_vmuSvB5cYUKMpf7m3p6Eew"
      decimals="0"
      id="Narr_KMISniiStEGcKU9Ug-1mqQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">644873</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_LbqH5nCk-E-Otk80LW4-Xg"
      decimals="0"
      id="Narr_Ap7-xSXj4UOFgavA23f7uQ"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">244629</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="Duration_6_9_2023_To_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_K3_WzrHfDEaf32moCC3evw"
      decimals="0"
      id="Narr_e5Kt2FziKUuZsdWsz5WRSg"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">38395</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="As_Of_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_evrhCYfCakSr8aaRtom3Fg"
      decimals="4"
      id="Narr_i28SHyUWQk2y1SY4X5p0pQ"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.6224</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="As_Of_6_8_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_aQNrQPl2fU2LwlO346dNxg"
      decimals="4"
      id="Narr_4K-5vaGi3UifWC6RfALs2w"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.2041</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="As_Of_6_9_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_evrhCYfCakSr8aaRtom3Fg"
      decimals="4"
      id="Narr_s0XLNRqoGUOlcINbj-7-Zw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.3776</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_x6MH8axvVUKR8u6kLjpe2A">&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:67.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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: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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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: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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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.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;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.34%;margin:0pt;padding: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:10pt;margin:0pt;"&gt;&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:30.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;Year&#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:67.34%;margin:0pt;padding: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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.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;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: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:8.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;2022&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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.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;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.34%;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;Net income attributable to Canadian Solar Inc.&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:1.34%;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:7.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; 95,248&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:1.34%;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:7.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; 239,968&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:1.34%;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:7.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 274,187&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.34%;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;Transfers from the non-controlling interests:&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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.17%;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.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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.17%;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.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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.86%;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:67.34%;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 7.2pt;"&gt;Increase in the Company&#x2019;s paid-in capital from transfer of equity interest in subsidiary and subsidiary&#x2019;s offering of its equity interests&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:1.34%;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.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; &#x2014;&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:1.34%;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.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; 11,185&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:1.34%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 244,629&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.34%;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 7.2pt;"&gt;Increase in the Company&#x2019;s accumulated other comprehensive loss from transfer of equity interest in subsidiary and subsidiary&#x2019;s offering of its equity interests&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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.17%;margin:0pt;padding: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.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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 544&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:1.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','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.86%;margin:0pt;padding: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,395&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.34%;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;Net transfers from non-controlling interests&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:1.34%;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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.17%;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.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:1.34%;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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.17%;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; 11,729&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:1.34%;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;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:7.86%;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; 283,024&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:67.34%;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;Change from net income attributable to Canadian Solar Inc. and transfers from non-controlling interests&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:1.34%;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:7.17%;border-bottom:3px double #000000;margin:0pt;padding: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.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:1.34%;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:7.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 251,697&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:1.34%;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:7.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 557,211&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:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestEffectsOfChangesNetTextBlock>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_t-D6VDAKoEynnhoMyZr58A"
      decimals="0"
      id="Tc_hdiQcGDJvUCjKeDy_MGf4A_3_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">95248</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_XQ9e1zvIqk2Bt6JdIq_bMA"
      decimals="0"
      id="Tc_FVTtNIkq9k-MtzOAIXi7TQ_3_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">239968</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_C1FRS_eBOECAWeoJD417ug"
      decimals="0"
      id="Tc_V-U9_sUsCkipTa1Zm6XNnQ_3_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">274187</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_o0i3MNYQg0id8cD_8G9quw"
      decimals="0"
      id="Tc_sxpziOILxk-Z4HV-7MqNvw_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11185</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_KtjeEpSdBE29UQ1i42anQw"
      decimals="0"
      id="Tc_1lBelPOkIEWpQ33M-XL06w_5_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">244629</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_gnpxtDFt80-qB5_y-k7BMw"
      decimals="0"
      id="Tc_Umz72aZ3F0yItr_cg1FK6w_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">544</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_Bfq9xiFyE06nwH_UujkVjQ"
      decimals="0"
      id="Tc_mRz0Jc4yw0qNSvW-PB1AVg_6_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">38395</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_XQ9e1zvIqk2Bt6JdIq_bMA"
      decimals="0"
      id="Tc_y2_iYfQB1UuPcTTTqRvdVA_7_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11729</us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet>
    <us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_C1FRS_eBOECAWeoJD417ug"
      decimals="0"
      id="Tc_cPoYMt4fiU26DAIpDk_pMg_7_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">283024</us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangesNet>
    <us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_t-D6VDAKoEynnhoMyZr58A"
      decimals="0"
      id="Tc_DXqB4SXFmkeCH2bsM5-vPg_8_3"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">95248</us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet>
    <us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_XQ9e1zvIqk2Bt6JdIq_bMA"
      decimals="0"
      id="Tc_PthcBYvGQECB7nFzt-Gg6g_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">251697</us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet>
    <us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_OwnershipAxis_csiq_CsiSolarCo.Ltd.Member_C1FRS_eBOECAWeoJD417ug"
      decimals="0"
      id="Tc_v3k4e1idxk6RLmySJgKJ-A_8_9"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">557211</us-gaap:ConsolidationLessThanWhollyOwnedSubsidiaryParentOwnershipInterestChangeDueToNetIncomeAttributableToParentAndEffectsOfChangesNet>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_Awi-7kzvV02XCMhsKxzQew">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;27. 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="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;In January 2024, Recurrent Energy B.V., a subsidiary of the Company, entered into a purchase and sale agreement with GRP IV UK Holdco Limited (a Climate Infrastructure business fund by BlackRock) to issue Series A convertible redeemable preferred shares of Recurrent Energy B.V. Under the purchase and sale agreement, BlackRock will invest $500 million in two tranches, representing 20% of its voting rights on an as-converted basis, subject to regulatory approvals and certain terms and conditions.&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
    <csiq:AmountOfInvestmentCommitmentInExchangeOfVotingRights
      contextRef="Duration_1_1_2024_To_1_31_2024_srt_ConsolidatedEntitiesAxis_csiq_RecurrentEnergyLlcMember_srt_CounterpartyNameAxis_csiq_BlackRockMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_lTuv_E6u7E-x21DkFE52ug"
      decimals="-6"
      id="Narr_5A9Q2MB-XU6pzkYpkEGZnw"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">500000000</csiq:AmountOfInvestmentCommitmentInExchangeOfVotingRights>
    <csiq:NumberOfTranches
      contextRef="Duration_1_1_2024_To_1_31_2024_srt_ConsolidatedEntitiesAxis_csiq_RecurrentEnergyLlcMember_srt_CounterpartyNameAxis_csiq_BlackRockMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_lTuv_E6u7E-x21DkFE52ug"
      decimals="INF"
      id="Narr_U6aWaO0MEUC7oMLmTGaffw"
      unitRef="Unit_Standard_tranche_ZRvaOf7SM0ajVRh4II2QSg">2</csiq:NumberOfTranches>
    <csiq:PercentageOfVotingRightsInExchangeOfInvestment
      contextRef="As_Of_1_31_2024_srt_ConsolidatedEntitiesAxis_csiq_RecurrentEnergyLlcMember_srt_CounterpartyNameAxis_csiq_BlackRockMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_JP7BuYKMjUOjFsmXO9zeKQ"
      decimals="2"
      id="Narr_IHYaFVJY1kWxr5YLCq1uOw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.20</csiq:PercentageOfVotingRightsInExchangeOfInvestment>
    <us-gaap:CondensedFinancialInformationOfParentCompanyOnlyDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      id="Tb_8r9-i2Q5cUG50R_TsdqYRw">&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 12pt 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, 2023 of $1,587,503, 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&#x2019;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;2022&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;2023&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;/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;(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; 15,661&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; 642&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; 582,685&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; 339,809&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;Prepaid expenses and other 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; 13,218&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; 14,812&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 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; 611,564&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; 355,263&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 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; 2,158,474&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; 2,561,797&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 affiliates&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; 11,745&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; 11,745&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;Deferred tax 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; 1,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;&#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;"&gt;Other non-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; 39,837&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; 39,837&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 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:3px double #000000;margin:0pt;padding: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;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,968,642&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-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%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span 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;"&gt;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;&lt;span 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;Amounts due to 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; 640,055&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; 157,821&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 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;&lt;span 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; 762&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,438&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;Other 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%;border-bottom:1px solid #000000;margin:0pt;padding: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;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; 8,899&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 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;margin:0pt;padding: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;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; 168,158&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;Convertible notes&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; 225,977&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; 227,424&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;Deferred tax 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;&lt;span 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; 4,690&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; 8,115&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;Liability for uncertain tax positions&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,730&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; 5,702&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&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; 881,736&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; 409,399&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;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;&lt;span 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;Common shares &#x2014; no par value: unlimited authorized shares, 64,506,055 and 66,158,741 shares &lt;span style="-sec-ix-hidden:Hidden_j6emgWMhXkGAKgzStNt_bg;"&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_Dj7PV6Ocn06g-KwcQI91sg;"&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, 2022 and 2023, respectively&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; 835,543&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; 835,543&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;Additional paid-in capital&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,127&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; 292,737&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;Retained earnings&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; 1,275,520&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,549,707&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;Accumulated other comprehensive loss&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;"&gt; (170,551)&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;"&gt; (118,744)&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 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:1px solid #000000;margin:0pt;padding: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;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; 2,559,243&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 AND 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:3px double #000000;margin:0pt;padding: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;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,968,642&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;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/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;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;td style="vertical-align: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;2023&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;/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%;margin:0pt;padding:0pt;"&gt;&lt;p 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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 263&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 39,838&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 97&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;"&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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility: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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#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,198&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility: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; (40,198)&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (18,720)&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,862&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,535)&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;"&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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#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; (772)&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility: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; 1,835&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;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;"&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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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,363)&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 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,775)&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#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; 319,325&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility: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; 274,187&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;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;td style="vertical-align: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;2023&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;/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%;margin:0pt;padding:0pt;"&gt;&lt;p 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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space: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; 274,187&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;"&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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility: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; 13,412&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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt; &lt;span style="visibility:hidden;"&gt;&#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; 287,599&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;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;td style="vertical-align: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;2023&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;/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%;margin:0pt;padding:0pt;"&gt;&lt;p 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; 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;td style="vertical-align: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; 274,187&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; 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;td style="vertical-align: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; 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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding: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,447&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; (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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding: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; 1,535&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;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: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; (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: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; (246,382)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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; (319,325)&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;Share-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 8,808&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 9,370&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 28,410&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;Deferred taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding: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; 805&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding: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; 3,319&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding: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;5,180&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;Changes in operating assets and 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: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 12pt;"&gt;Amounts due from 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; (206,892)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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; 10,990&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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;245,001&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;Prepaid expenses and other 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; 17,353&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (7,900)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,594)&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;Other non-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; (4,907)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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; 10&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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;Amounts due 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: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; (42,224)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 38,610&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (232,650)&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;Other current 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: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; (27,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: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,154)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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; 4,377&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;Liability for uncertain tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (5,915)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,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: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; (28)&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;Net settlement of derivatives&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding: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;border-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%;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; 439&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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; (859)&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;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%;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; (264,201)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 47,714&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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,681&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;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: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;Investments in 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; (138,456)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (65,421)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (22,164)&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 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="font-size: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,273)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding: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; (990)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding: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;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%;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%;margin:0pt;padding: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; (122,050)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding: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; (62,226)&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;Repayment of 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;border-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%;background:#cceeff;margin:0pt;padding: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;border-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;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding: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;border-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; 69,150&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;Net cash used in 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: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; (91,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: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; (15,888)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (15,240)&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;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: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;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%;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; (80,000)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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 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;Repayment of loan from 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: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; &#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;"&gt; (49,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: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;Loan from a 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: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; 280,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding: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;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%;background:#cceeff;margin:0pt;padding: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;border-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; 148,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: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;border-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%;background:#cceeff;margin:0pt;padding: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;border-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%;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%;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;border-top: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%;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;border-top: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;td style="vertical-align: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;border-top: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;Effect of exchange rate changes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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; (797)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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; 5,957&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-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; (5,460)&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;Net 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%;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; (7,593)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (11,771)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; (15,019)&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 beginning 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: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%;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; 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: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; 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;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%;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: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%;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: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;td style="vertical-align: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: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; 642&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;Supplemental disclosure of cash flow information:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding: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;"&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%;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; 20,272&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 30,521&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align: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; 11,586&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 0pt 6pt 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_2023_M_Twd9lLf0S_tvv4E2OYWA"
      decimals="-3"
      id="Narr_2-8xJVPsYE2z1zQAWJQs_g"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1587503000</us-gaap:AmountOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries>
    <csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries
      contextRef="Duration_1_1_2023_To_12_31_2023_KISqyBs5Tkqt0yFJ6mxMcw"
      decimals="2"
      id="Narr_xBBYUm6JokO6mZhSoCyazw"
      unitRef="Unit_Standard_pure_r1hF9FV5BUyU9D79Lg-hQQ">0.25</csiq:ThresholdPercentageOfRestrictedNetAssetsForConsolidatedAndUnconsolidatedSubsidiaries>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_xaWzY3I5NE6IV6-mcDg-Sg_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15661000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_RYgjYNmLMUyLrwLs2Jbxsg_7_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">642000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_26sT9YAvEEm88V1olm3oCw"
      decimals="-3"
      id="Tc_TiPzi77XLkG647Z-e15fYg_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">582685000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_Jt_J6OtYD0-QdC688D872g"
      decimals="-3"
      id="Tc_LQS5Tbry80uoSJrXyKc18A_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">339809000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_dwTb7xVD6E6inCoGRzTzFQ_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">13218000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_G2vcQLafQUmKrNQPFDHCPA_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">14812000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_l5Fkza7u0UGoOA1M1Xqqgg_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">611564000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_LVwNZMQxWUqYTVTlRfVZTg_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">355263000</us-gaap:AssetsCurrent>
    <csiq:InvestmentInSubsidiaries
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_IY-wfC3MFUKeb44_lm6Hig_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2158474000</csiq:InvestmentInSubsidiaries>
    <csiq:InvestmentInSubsidiaries
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_3Ar-D2674EegucvLsb13hQ_11_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2561797000</csiq:InvestmentInSubsidiaries>
    <csiq:InvestmentInAffiliates
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_pBVY0Gc9yU6ZFj0DYj_DtA_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11745000</csiq:InvestmentInAffiliates>
    <csiq:InvestmentInAffiliates
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_W8f30GOHpUCB19rNH1eiZA_12_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11745000</csiq:InvestmentInAffiliates>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_E-7s36ha7UisXg7YUsDgeg_13_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1755000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_LNR6bDB5t0SswpEY-HlC7A_14_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">39837000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_6YYaFj9dlkKvBF3NXjIBwQ_14_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">39837000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_54brnoTOkUGu68MOnky1hw_15_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2823375000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_PTGPZFY3JUeUeKA9RQ-T_A_15_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2968642000</us-gaap:Assets>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_26sT9YAvEEm88V1olm3oCw"
      decimals="-3"
      id="Tc_A4VZgeAZmUmZS8XB1nggrA_18_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">640055000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_Jt_J6OtYD0-QdC688D872g"
      decimals="-3"
      id="Tc_NvMpo6yemkqwSvp7thBKfQ_18_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">157821000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_VtJHBbYBFEmfy--_Iv0k7w_19_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">762000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:DerivativeLiabilitiesCurrent
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_Ug-tH6iiWEa-xBLUdC1exQ_19_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1438000</us-gaap:DerivativeLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_NonrelatedPartyMember_hE6Ui2A4iE-kl7u-8_CGWg"
      decimals="-3"
      id="Tc_LasA2hA1KEC-W0G9AMTjJw_20_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4522000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_us-gaap_NonrelatedPartyMember_2vRcWQ1yXUirLwGNRbD7jw"
      decimals="-3"
      id="Tc_mdkh2xce-UGDAuE0Ug65aA_20_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8899000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_c7AHHhbMFUupvUuU55acew_21_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">645339000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_KOhlOnA1zU-3focGcTee8w_21_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">168158000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ConvertibleNotesPayable
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_0PiHahoXrECBwshnkjG7hg_22_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">225977000</us-gaap:ConvertibleNotesPayable>
    <us-gaap:ConvertibleNotesPayable
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_XWDzbKYMhkeih_NlfeZ0mA_22_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">227424000</us-gaap:ConvertibleNotesPayable>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_U8b8CX3lsEKW2He3awtK4A_23_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4690000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc__2_UjF2tJ02ju1HUwTi_1g_23_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8115000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_1BC3ezZOK02AdbVNkU3laQ_24_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5730000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_qjRwccy2vUK87IbywJWonA_24_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5702000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_WWyg8DncmUWXJgKF6Tx_ZQ_25_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">881736000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_AQJaMZ__bEiiXPnD8-I14w_25_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">409399000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="INF"
      id="Narr_naMBX4Up4Emw4x7s1yD9GA"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="INF"
      id="Narr_kyX3PfjFy0S3w0PBoGNe6A"
      unitRef="Unit_Divide_USD_shares_YTueg5MssESkg5FcsWOeRg">0</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="INF"
      id="Narr_Hrv2W9B330SvYx4VRzG3EQ"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">64506055</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="INF"
      id="Narr_qduH-UMRr0G5AgxwJ2HHeQ"
      unitRef="Unit_Standard_shares_sK-flYxG80-36QBxlT3xWg">66158741</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_PV1OeRy3zUSiS6uVa05nUA_27_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">835543000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_cRKAfB4T4ESYeDNpw8S-fA_27_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">835543000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_fDHxRV2cEk-8emvwKWghEA_28_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1127000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_eIk_c5zkKkO7ANWeJNaEaQ_28_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">292737000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_lrGdw8fUfU6b3epMgiz8rw_29_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1275520000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_8rmp8iIMPECfVQQYKvJfJA_29_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1549707000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_BpG2B_Ueh0K00g5yUCem_Q_30_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-170551000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_Ouc5kqqE-kO8LXGbpegdbg_30_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-118744000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_dWZDNiocD0OBFKkxt2GW6A_31_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1941639000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_Z_PjlELNiUOe6agPhn1CbA_31_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2559243000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_-X9QPQnxRUqn4NQtChFdGA_32_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2823375000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_qgGjzIzShEewOoUNlnpkrQ_32_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">2968642000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_w7JKCa0dW0Wi8oSwDSmKCg_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">341000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_hC3sbYkOrUiwiLNJccuJ_A_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">341000</us-gaap:GrossProfit>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_0A34tTHgD0OxVLKTwkAikg_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">766000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_qiprsz8-EUKyIvNRjkpSMA_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">890000</us-gaap:SellingExpense>
    <us-gaap:SellingExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_NmLYuyp5JUGCAHpC9c54tQ_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">263000</us-gaap:SellingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_QxtIJZbp40eFqOr4tsxU6A_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9177000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_XjPECkaXx0mepm57pBPAaA_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11261000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_unDBlbz2D0OD3kT6ARedSw_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">39838000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_V8eAyH7dI0a75VgKYWcIyg_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">182000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_VdHL-D86t0K0rb2r6sSVqA_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">155000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_edo9pZDyzkOPr741NaK_DA_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">97000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_Jz7riFdTukiluxlbDHgviQ_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">282000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_bgQJLzOenEyE6a6gcEnuOQ_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9843000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_N8ahHnL6dECdDtlaZOCASw_12_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">12306000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_GFqMI0KC0kyguW-JlurlBQ_12_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">40198000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_D6G9CfXEvUiYgA0Aqyg_nA_13_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-9502000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_DRMsq0WdYE2FtZw_uuYjdw_13_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-12306000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_i9MMmoZTDE-EAR1pw3df7g_13_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-40198000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_1k15Dzzuk0WVSU38VgRj8w_15_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">19677000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_yGoiOqHzlUG_KCa0rgTGmg_15_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">23229000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_SZUlmyZJyUWC23Rb38YThg_15_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">18720000</us-gaap:InterestExpense>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_7nyf03_sAUuyYZWNmHuycQ_16_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">20249000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_cBawS82djEqTqr1Uhw-c4A_16_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">20563000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_Zq3EYhNP10qyIfVsufmuwA_16_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">22862000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_L5u8qkNjokK5IfqbyZe5Vg_17_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4043000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_cze9Uz7NeEWwTgzqfUhp7g_17_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-844000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_WmFLkxIdI0Sv6_UItCDPrQ_17_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1535000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_0fVI3t4wf0el6A2Mln_J6A_18_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-3674000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_iyX3rGDp7U6sChtAUfsCUQ_18_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">616000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_yGbQRfJfTke2pGUHBsiDLQ_18_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-772000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_DfeDUGIWO0GdrtTTDHmAbA_19_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">941000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_hRfdA6v9LkeEtxq0kl8roA_19_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-2894000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_0rOkeETG2km2CxLR6Y7edg_19_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1835000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_QQy8vRhh6EqaDDeUDmP6qg_20_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-8561000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_SYaWORMxBkuDkp_Ln9qP1w_20_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-15200000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_UasR0S58U0-NhFqJo5G63A_20_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-38363000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_wSo_saJKIUip6GXqszoXkA_21_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-2424000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_cKPRRSwZp0eCFbPllC48KA_21_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-8786000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_JOY9cAx4G0qvUIAWOcNbjg_21_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">6775000</us-gaap:IncomeTaxExpenseBenefit>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_5B8pATNhLEWmrA0mQdWhsA_22_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">101385000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_ldU_mmqMDkeSZqjitxw09g_22_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">246382000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_1Mk16zk1MUqg40DrbOU3-A_22_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">319325000</csiq:EquityIncomeLossFromSubsidiaries>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_pz74zikDUUSpULRbKzUNFA_23_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">95248000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_cm49WKXGQ0ycz_8WbUYyuA_23_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">239968000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_RW7HMrMwOUqzElKtPQ-KZg_23_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">274187000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_ASrMaO8AVkOUEzZHNCHMLw_4_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">95248000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_QrewlRad0UG3gAAgM3BXUg_4_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">239968000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_h05IxFHCiEG2EmJHxsXboQ_4_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">274187000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_6HCV7F6wakO_lR9hwtDpng_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-21905000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_AOQQGC_4Sk2ni7m5KXxU9Q_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-120511000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_HmOsgZwmvkOGWXsOIdfJFA_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">13412000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_2RGB3bos2k23rFb4OmRjDg_6_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">73343000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_2FhxSZgKxkCVNMUyIslmYA_6_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">119457000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_8vavZNx19U-qxxcnO9k6uQ_6_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">287599000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_yjm7vJjDi0GCsAw4QYlbSg_5_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">95248000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_g07vauy6kE26IpEu8Fz_Nw_5_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">239968000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_NsKoP53tU0ab2KFJCuRcgQ_5_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">274187000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_Z9ouzt-630moxQ0HQsIfxA_7_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">150000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_TL7EqPWV00WVKgRhgMwMug_8_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1461000</us-gaap:AccretionExpense>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_pnEzKHV7B0ehDm4yV2FGBQ_8_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1302000</us-gaap:AccretionExpense>
    <us-gaap:AccretionExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_nMnUUYEu7UeKyxwvIjnuXg_8_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1447000</us-gaap:AccretionExpense>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_3hNy3MumMkKRP3IBFg7UFw_9_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4043000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_Sy_ESlGJfk6tt6eF0y3QUw_9_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-844000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_od5Vukv3kE2XRhhSwn6dlg_9_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1535000</us-gaap:FairValueNetDerivativeAssetLiabilityMeasuredOnRecurringBasisChangeInUnrealizedGainLoss>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_Am3_tmQcUkSH-TOpe_ZF1Q_10_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">101385000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_fOOasoHp00SNV3q4zbRoMA_10_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">246382000</csiq:EquityIncomeLossFromSubsidiaries>
    <csiq:EquityIncomeLossFromSubsidiaries
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_7MPd1PbiR0uiJi0U9XFSvQ_10_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">319325000</csiq:EquityIncomeLossFromSubsidiaries>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_OM4gL-0tC0Gncs_83j5uig_11_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">8808000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_83eqqv68-k-UKG3WZpd9Cg_11_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">9370000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_d5bu1ZxRpk-_8t9GXWsziA_11_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">28410000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_yE7rIA-5EkiNZS7XXDvWIQ_12_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">805000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_C4SlpiAFy0ur0zkD9eHgiw_12_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">3319000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_zRwJJKWvhUmkVeCj9FG-1w_12_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5180000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_gV7RavB-mEuN3uG-gxtpFQ_14_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">206892000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_HFgzDq1-DEWDmUr1wd8klQ_14_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-10990000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc__NZH2VKXokGj3fVB2_dK9A_14_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-245001000</us-gaap:IncreaseDecreaseInDueFromRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_KbRYEu1SZk-wJG1N-gDmBA_15_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-17353000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_NSSffVp3AEGM2ZRDmnlt6A_15_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">7900000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_1GBgQlkd8EeSRq2HNn1ndQ_15_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">1594000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_0g9PU8Ol5UOiaicDWZ-Yeg_16_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4907000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_hvafuLhk5kmR3F3T591ybA_16_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-10000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_UCVmZQeMrEmiZqCGXpL8pQ_17_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-42224000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_ajvrOStBt0yXQ-GiVPhjEg_17_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">38610000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_sJ8ZNXHoCUiImSNjwZu4XQ_17_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-232650000</us-gaap:IncreaseDecreaseInDueToRelatedPartiesCurrent>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_FgQBpJClMkCOmUGlvEF7sg_18_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-27293000</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_ww7mY_G6WEOn7u0IhNVVgA_18_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1154000</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherCurrentLiabilities
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_4Ua5KSiOyUydya0qp6nTEg_18_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">4377000</us-gaap:IncreaseDecreaseInOtherCurrentLiabilities>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_Hpfd32ICC0eaq2If4dIugQ_19_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-5915000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_yQkFjS9zZEqOGORPOuAAjw_19_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-1702000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_fLtj0C_56kyeTm9gvcd7lA_19_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-28000</csiq:IncreaseDecreaseInLiabilityForUncertaintyInIncomeTaxes>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_wm9LWKrAAE2w70cq7NSEUQ_20_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-4633000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_k0iURr_GwkSZhsM3e-zkcg_20_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-439000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:GainLossOnSaleOfDerivatives
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_BMBIqn1Y2k-JCbmHMJkf6A_20_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">859000</us-gaap:GainLossOnSaleOfDerivatives>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_KzfemFN5eEOwJmKgADyDKQ_21_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-264201000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_vCLC7cjtA0602vIwwLJGCQ_21_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">47714000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_tbP7LRSyAEim8YtQSjYPkA_21_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5681000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <csiq:PaymentsToAcquireSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_jkAQlAndxkajM-UcXz0jVw_23_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">138456000</csiq:PaymentsToAcquireSubsidiaries>
    <csiq:PaymentsToAcquireSubsidiaries
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_k1lgdxCNj0KRQ9dIgNlB3g_23_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">65421000</csiq:PaymentsToAcquireSubsidiaries>
    <csiq:PaymentsToAcquireSubsidiaries
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_8gB9n1R9dEWNcU8JDLsORg_23_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">22164000</csiq:PaymentsToAcquireSubsidiaries>
    <csiq:PaymentsToAcquireAffiliates
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_EUgBUHkxFEurPvFNIudJZQ_24_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5273000</csiq:PaymentsToAcquireAffiliates>
    <csiq:PaymentsToAcquireAffiliates
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_JG-DK_ZuDEWhLXxal7FphQ_24_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">990000</csiq:PaymentsToAcquireAffiliates>
    <csiq:PaymentsForProceedsFromLoansToSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_eBZpk80y2k6jQStulWQaOA_25_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">201192000</csiq:PaymentsForProceedsFromLoansToSubsidiaries>
    <csiq:PaymentsForProceedsFromLoansToSubsidiaries
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_1C2_vBSYoEWVFPtvYsovoQ_25_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">122050000</csiq:PaymentsForProceedsFromLoansToSubsidiaries>
    <csiq:PaymentsForProceedsFromLoansToSubsidiaries
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_5wBlVDoXfkC-muK8xIIHbA_25_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">62226000</csiq:PaymentsForProceedsFromLoansToSubsidiaries>
    <us-gaap:RepaymentOfNotesReceivableFromRelatedParties
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_g8AWrO3wh0-qZEGEC8rwCA_26_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">253816000</us-gaap:RepaymentOfNotesReceivableFromRelatedParties>
    <us-gaap:RepaymentOfNotesReceivableFromRelatedParties
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_ddtJ7UCQl0arQxlO_9yQ8Q_26_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">172573000</us-gaap:RepaymentOfNotesReceivableFromRelatedParties>
    <us-gaap:RepaymentOfNotesReceivableFromRelatedParties
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_fj8LRIK19UmQDSfpylvWww_26_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">69150000</us-gaap:RepaymentOfNotesReceivableFromRelatedParties>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_uaEOfIQfrUeea6KAZcHntA_27_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-91105000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_5-cIuu14AUuDzf9DlSWz6A_27_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-15888000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_p34q60F8c0O0UxzNaSiipQ_27_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-15240000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromRepaymentsOfNotesPayable
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_8ErXAjXf8EuIDevpk8Zygg_29_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-80000000</us-gaap:ProceedsFromRepaymentsOfNotesPayable>
    <csiq:RepaymentOfLoanFromSubsidiaries
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_6f9IVfiN7kCzCNSkl20Wuw_30_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">49554000</csiq:RepaymentOfLoanFromSubsidiaries>
    <csiq:ProceedsFromLoansFromSubsidiaries
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_p4YDMsTFwUWRIdCz1LHYow_31_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">280000000</csiq:ProceedsFromLoansFromSubsidiaries>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_d2AtPTKw-0OPjVdcM5THpw_32_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">148510000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_5bthD4hD4kWFouOa8FLSaw_33_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">348510000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_lwjBd17Z8E6EX81VCgeTzA_33_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-49554000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_NHisdq2YNEqiViNFPnmlUA_34_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-797000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_oddiAIdG20mzz211DCJ6Qw_34_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">5957000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_J_rTou8Fk0WLjPuBDHp1vg_34_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-5460000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_s5cKxTor-UegfoS32Iq2OA_35_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-7593000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_BtS5y66nK0OYSoVS2Bc50Q_35_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-11771000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_o1-OhbffnEOfk-wGwR8fmw_35_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">-15019000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2020_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_B0sOlVpw50STUx9PBISUQg"
      decimals="-3"
      id="Tc_D-CcCxLl4UehXsGNpKwm1Q_36_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">35025000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_2I3jOHmUmEmiCDffN7MR2Q"
      decimals="-3"
      id="Tc_JS-TXkF5DEe9rocIVmRphQ_36_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">27432000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_Z2AoTo1ikU2EfoMklXt5iQ_36_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15661000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_2I3jOHmUmEmiCDffN7MR2Q"
      decimals="-3"
      id="Tc_nfOLgCfYYUSKac1MSIea0A_37_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">27432000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_rEuWQeBDp0-bx4ZloSJJqw"
      decimals="-3"
      id="Tc_A1JcouVwqUiu59CoVtlmSA_37_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">15661000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember__5Smg3FK8k-ln9klBUr6Pg"
      decimals="-3"
      id="Tc_lxdboQkaMkGJ4fqYcTDKvA_37_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">642000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2021_To_12_31_2021_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_GXc2CCDWnU293K5aBkD-YA"
      decimals="-3"
      id="Tc_9RCrCi-ae0KIkW6qt7cT4g_39_2"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">20272000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_3hHtdXQ1GUKL33b9S5k2fg"
      decimals="-3"
      id="Tc_3b3TkaXbYkSxlS_l1gPbew_39_4"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">30521000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidatedEntitiesAxis_srt_ParentCompanyMember_srt_ConsolidationItemsAxis_srt_ReportableLegalEntitiesMember_-689bulbyU66F4Ri37MVmQ"
      decimals="-3"
      id="Tc_B5QvXH22FESvhb4xPFYSlg_39_6"
      unitRef="Unit_Standard_USD_pyXxL-9HaU-hry2h_xpvLQ">11586000</us-gaap:InterestPaidNet>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#Tc_Ierld0XU1kqFJnqMqUfaQg_7_2"
          xlink:label="Tc_Ierld0XU1kqFJnqMqUfaQg_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 power and battery energy storage assets 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_Ierld0XU1kqFJnqMqUfaQg_7_2"
          xlink:to="_68c5258b_a5f8_4a19_b7d8_b6e882ff7d87"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_uRKovIpSWk-jeD9BCtANUA_7_4"
          xlink:label="Tc_uRKovIpSWk-jeD9BCtANUA_7_4"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_uRKovIpSWk-jeD9BCtANUA_7_4"
          xlink:to="_68c5258b_a5f8_4a19_b7d8_b6e882ff7d87"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_eA9GcXPZM02kcpVzn3PhUg_13_2"
          xlink:label="Tc_eA9GcXPZM02kcpVzn3PhUg_13_2"
          xlink:type="locator"/>
        <link:footnote id="_55b926d1_e033_45e1_aa19_4c28ad6fc60c" xlink:label="_55b926d1_e033_45e1_aa19_4c28ad6fc60c" 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_eA9GcXPZM02kcpVzn3PhUg_13_2"
          xlink:to="_55b926d1_e033_45e1_aa19_4c28ad6fc60c"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_eLgSvhb2bkelXTTz967iXA_13_16"
          xlink:label="Tc_eLgSvhb2bkelXTTz967iXA_13_16"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_eLgSvhb2bkelXTTz967iXA_13_16"
          xlink:to="_55b926d1_e033_45e1_aa19_4c28ad6fc60c"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_ueAlqwHCo0mad7tql5w-mg_13_4"
          xlink:label="Tc_ueAlqwHCo0mad7tql5w-mg_13_4"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_ueAlqwHCo0mad7tql5w-mg_13_4"
          xlink:to="_55b926d1_e033_45e1_aa19_4c28ad6fc60c"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_pUA9QqkY0ESliEWNhB70Gw_13_12"
          xlink:label="Tc_pUA9QqkY0ESliEWNhB70Gw_13_12"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Tc_pUA9QqkY0ESliEWNhB70Gw_13_12"
          xlink:to="_55b926d1_e033_45e1_aa19_4c28ad6fc60c"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Tc_1mxtlJeiBU2vDXuJT6QDPQ_33_2"
          xlink:label="Tc_1mxtlJeiBU2vDXuJT6QDPQ_33_2"
          xlink:type="locator"/>
        <link:footnote id="_2f8b80ee_3d7c_4de4_be33_9e2e441250e7" xlink:label="_2f8b80ee_3d7c_4de4_be33_9e2e441250e7" 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 the net proceeds of RMB</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">6,628,683</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;">$927,897</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">), after deducting the offering expenses of RMB</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">277,929</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;">$38,995</xhtml:span><xhtml:span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">), from the IPO of CSI Solar Co., Ltd in 2023. Refer to Note 26 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_1mxtlJeiBU2vDXuJT6QDPQ_33_2"
          xlink:to="_2f8b80ee_3d7c_4de4_be33_9e2e441250e7"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
